У меня есть хранимая процедура, и если хранимая процедура делает это:MS SQL хранимая процедура возвращается наборы результатов с ODBC
SELECT 0 As Ret
DELETE FROM table where value1 = 1
возвращает результат 1 строку со значением 0 и именем столбца Ret
Но если я это сделаю:
DELETE FROM table where value1 = 1
SELECT 0 As Ret
Я не получаю никаких возвращенных результатов.
Вопрос в том, как получить второй вариант, чтобы вернуть значение.
Я использую C++ и ODBC.
Я не думаю, что вы поняли вопрос. Он не возвращает строк во втором случае. Проблема состоит в том, что сначала выполняется удаление, а затем выбор. Он никогда не возвращает мне результирующий набор. –
Я действительно хочу, чтобы он возвращал 0 во втором случае. (Следовательно, SELECT 0 As Ret). Но проблема в том, что он ничего не возвращает. –
Прошу прощения, я думал, что вы занимаетесь манипулированием значением @ @ RowCount. Оба варианта, которые вы даете, возвращают мне результаты (с разными значениями @@ Rowcount, доступными после выполнения). Возможно, вы могли бы поделиться больше кода, в котором вы не получаете значение. – cmsjr