sql - Postgresql: DROP CONSTRAINT IF EXISTS 不工作

标签 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;

它给我这个错误:

ERROR: syntax error at or near "IF"

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

问候。

最佳答案

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

但是drop constraint支持 IF NOT EXISTS 选项:

ALTER TABLE res_partner_bank 
  DROP CONSTRAINT IF EXISTS res_partner_bank_unique_number;

关于sql - Postgresql: DROP CONSTRAINT IF EXISTS 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59140322/

相关文章:

sql - 2017 年之前的 SQL Server 的 String_agg

mysql - 仅将 Table_1A 中的 column_A 和 column_B 连接到 Table_2A column_C

ruby-on-rails - 如何更新生产环境的记录?

postgresql - Postgres 表似乎部分丢失

postgresql - 根据查询结果设置默认值

sql - DDL 定义非规范化规则?

C# : SQL Server query issue

mysql - 同一表在不同数据库中不使用索引

sql - 在任何 PostgreSQL 语句(甚至不返回结果的语句)上调用 row_to_json(row)

postgresql - postgres 是否支持同一 jsonb 列的不同属性上的多列索引?