Что делает FETCH INTO, когда нет результатов?

Я пытаюсь понять код COBOL и не знаю, что происходит, когда выполняется FETCH INTO, а запрос не возвращает результатов. Итак, например, если у меня есть целочисленный столбец, но мой запрос не возвращает строк, а я получаю данные из целочисленной переменной, что происходит с этой целочисленной переменной? Содержит ли он исходное значение или устанавливается равным нулю? Что-то другое?


person Pete    schedule 12.02.2015    source источник
comment
Почему это важно? Без хорошего возврата sql вы бы не использовали данные, не так ли?   -  person Bill Woodger    schedule 13.02.2015
comment
Было бы неплохо показать код, который вызывает путаницу. И какая СУБД и на какой ОС? Я предполагаю, что вы смотрите на плохой код и, возможно, получаете значение, которое оказалось в поле во время запуска SQL,   -  person Bill Woodger    schedule 13.02.2015


Ответы (1)


Это может зависеть от используемой СУБД. В DB2 ваша FETCH потерпит неудачу с SQLCODE=+100, и данной переменной хоста не будет присвоено никакого значения. Но, как уже сказал @Bill Woodger в своем комментарии: поскольку вы все равно должны обрабатывать ошибку выборки, вам лучше предположить, что значение не определено.

person piet.t    schedule 13.02.2015