如果表存在,则以下查询将删除该表,但似乎对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语句而不是表删除语句,那么相同的if exists语法将起作用。任何对此的帮助都将不胜感激。
更新1:我读到在begin atomic块内无法运行DDL语句,因此我的第一条语句失败了,但第二条语句可以正常运行。