【发布时间】:2010-01-05 23:15:23
【问题描述】:
我有一个这样定义的表:
CREATE TABLE A (
begin date,
end date,
CONSTRAINT ordered_dates CHECK ( begin <= end)
)
..和 2 个相关的触发器:
- 更新前触发 1
- 更新后触发 2
在触发器 1 中,通过计算间隔 (=end-begin) 在第二个表 B 中插入。
如果不遵守ordered_dates 约束,我在表B 中插入了错误值。 但约束似乎只在更新期间检查,而不是在 BEFORE 触发器中。
我是否必须在之前的 trigger1 中再次测试 ordered_date ONCE 并最终在触发器中引发异常?? 我知道该怎么做,但我在某种程度上有代码重复。
【问题讨论】:
-
欢迎来到 SO - 您可能想了解支持的降价以应对未来的问题:stackoverflow.com/editing-help
标签: sql postgresql triggers constraints