我需要删除一个约束(例如外键)。但是表,对表的约束或两者都不存在。
我尝试过:
ALTER TABLE IF EXISTS Table1
-无效的语法
ALTER TABLE Table1 DROP CONSTRAINT IF EXISTS Constraint
-如果缺少Table1,则失败
类似
之类的笨拙案例 select CASE (select count(*)
from INFORMATION_SCHEMA.CONSTRAINTS
where CONSTRAINT_SCHEMA = 'DBO'
and CONSTRAINT_NAME = upper('FK_Table1_Col1_Table2_Col2'))
WHEN 1 THEN 'select 5'
end
例如,在MS SQL中,您具有所有IF EXISTS子句,可让您轻松地分支脚本。 H2似乎并非如此。应该有某种方法使其类似于我在CASE WHEN时所做的尝试,不是吗?
如果可能,我要避免在sql文件中编写Java代码。