Синтаксис if существует в IBM Db2

Следующий запрос удаляет таблицу, если таблица существует, но, похоже, не работает для 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, поэтому мой первый оператор не работает, но второй работает нормально.

6
задан inetphantom 3 January 2019 в 14:03
поделиться