【发布时间】:2013-06-07 15:41:36
【问题描述】:
我正在寻找的行为类似于您在将约束(例如,唯一)添加到现有表、根据现有数据对其进行验证、然后删除约束时所观察到的行为。我不希望约束在表上持续存在,我只想表达它,在现有数据上验证它,然后继续(或引发检查失败的异常); Postgresql (9.2) 是否支持直接执行此类操作的方法?
【问题讨论】:
-
您可以使用
select语句计算违反“条件”的行。例如对于涉及group by和having count(*) > 1的唯一约束 -
@a_horse_with_no_name,感谢您的建议。如果违反了约束(顶级分支,即 CASE ...,在语法上无效),我该如何做某事,例如抛出异常?这需要使用程序语言吗?
标签: sql postgresql constraints unique-constraint