2009-07-28 5 views
0

я получаю следующее сообщение об ошибке при запуске отчета SQR на DB2:SQL0100W Ошибка в DB2

SQL0100W - No row was found for FETCH, UPDATE or DELETE; or the result of a query is an empty table. SQLSTATE=02000 

SQL, в вопросе работает правильно, когда я вставить его в RapidSQL, заменив параметры. Этот sql-запрос является вставкой-select. Выбор строк невозможен, и это нормально ... Я ожидаю, что отчет будет пустым для моих параметров.

Любая идея, как я могу обойти это?

ответ

1

Оказывается, проблема с настройкой среды. Got решен без изменений от меня после нескольких сборок ....

Странно: -/

1

DB2 всегда возвращает предупреждение SQL0100 (это предупреждение, а не ошибка - ошибки будут иметь отрицательные значения), когда строки не возвращаются. Так оно и есть. Я вообще не знаю народов, поэтому я не могу дать вам никаких указаний. Когда я программировал DB2, мы игнорировали эти предупреждения SQL0100.

+0

К сожалению, у меня нет никакого способа, чтобы игнорировать это предупреждение! Мой SQR заканчивается после распечатки этого сообщения. Вместо того, чтобы генерировать (пустой) отчет в формате PDF, как и предполагалось. , , Но спасибо за информацию! – Alterlife

+0

слишком плохо - это было одной из самых неприятных вещей в DB2. – bernhardrusch

1

Если SQR не может изящно обрабатывать возврат NOT_FOUND SQL0100, тогда запрограммируйте предварительный запрос, чтобы возвращать количество строк, удовлетворяющих условиям фактического запроса. Проверьте результат подсчета в блоке if-then в SQR, чтобы запустить фактический запрос, если и только если счетчик строк, возвращенный предыдущим запросом, не равен нулю.