Postgresql:如果存在则删除约束不起作用

Ben*_*eno 3 sql postgresql ddl

我只想删除存在的约束。但它不起作用或者我做错了什么。

这是我的查询:

IF EXISTS (SELECT * FROM information_schema.table_constraints WHERE constraint_name='res_partner_bank_unique_number')
THEN ALTER TABLE res_partner_bank DROP CONSTRAINT res_partner_bank_unique_number;
Run Code Online (Sandbox Code Playgroud)

它给了我这个错误:

错误:“IF”处或附近的语法错误

如果有人可以帮助我。谢谢。

问候。

小智 7

SQL 中没有IF(仅在 PL/pgSQL 中)。

drop 约束支持以下IF NOT EXISTS选项:

ALTER TABLE res_partner_bank 
  DROP CONSTRAINT IF EXISTS res_partner_bank_unique_number;
Run Code Online (Sandbox Code Playgroud)