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