Следующий запрос удаляет таблицу, если таблица существует, но, похоже, не работает для IBM Db2 .
Begin atomic
if( exists(
SELECT 1 FROM SYSIBM.SYSTABLES
WHERE NAME='EMAIL' AND TYPE='T' AND creator = 'schema1'
)) then
drop table EMAIL;
end if;
End
В то время как тот же синтаксис, если существует, работает, если у меня есть оператор DML вместо оператора удаления таблицы. Любая помощь по этому поводу приветствуется
Обновление 1: Я читал, что вы не можете запускать оператор DDL в атомном блоке begin, поэтому мой первый оператор не работает, но второй работает нормально.