我即将发布一个脚本,它将一次更新许多 Firebird 数据库。有些没有这个约束,所以我想在我尝试删除它之前检查约束是否存在。
ALTER TABLE PROCESS_CATEGORY DROP CONSTRAINT INTEG_669;
Run Code Online (Sandbox Code Playgroud)
RDB$RELATION_CONSTRAINTS
如果您知道约束的名称,则可以查询表。像这样的东西:
set term ^;
execute block as
begin
if (exists(
select 0 from rdb$relation_constraints
where rdb$constraint_name = 'INTEG_669'
)) then
execute statement 'alter table process_category drop constraint INTEG_669';
end
^
set term ;^
Run Code Online (Sandbox Code Playgroud)
使用execute statement
是因为alter table
块内部不允许,if
语句外部不允许。
归档时间: |
|
查看次数: |
7115 次 |
最近记录: |