Всем привет!

При выполнении update определенной записи таблицы определенными значениями возникает

Statement failed, SQLCODE = -508
no current record for fetch operation

Больше ничего :-( Ни стека вызовов ни какой либо другой уточняющей информации.

На таблицу в виде триггеров навешана довольно сложная логика.
Для локализации места возникновения ошибки поочередно отключал триггера и нашел проблемный, при отключении которого update проходит.

Для того, чтобы попытаться локализовать место возникновения ошибки внутри триггера, решил использовать вызов exception, постепенно сдвигая этот вызов от конца триггера к началу, до тех пор, пока не возникнет вызываемое исключение, а не 'no current record for fetch operation'. С таким подходом я быстро обломался, потому что не смог увидеть 'no current record for fetch operation' даже когда вызов исключения располагался в самом конце, перед END, ни говоря уже о вызовах исключения выше по коду...
Как так, понять не могу.

По этому хотелось бы услышать, какие еще подходы можно использовать для локализации данной неисправности?

Также хочется понять, когда вообще данная ошибка может возникать?
В голову приходит только
select ... from Table1 join StoredProc1(Tabele1.ID) on (1=1)
Про это я знаю и соответсвенно пишу код.
Какие еще случаи возможны? На что обратить внимание?

Ответить