我有一个带有“货币”列的表格。
我想要防止插入某些货币,而不删除现有的货币。
起初我考虑使用验证触发器。
后来我发现了
在这篇文章中,这个人说:“你甚至可以将约束保持在
那么,
起初我考虑使用验证触发器。
后来我发现了
ALTER TABLE ADD CONSTRAINT
的NOT VALID
选项,可以防止对现有数据进行验证。
文档似乎暗示NOT VALID
选项主要用于性能原因,以允许用户将验证延迟到以后。但是它没有明确说明它不能用于保留旧(无效)数据的目的。在这篇文章中,这个人说:“你甚至可以将约束保持在
NOT VALID
状态,因为这更好地反映了它实际执行的操作:检查新行,但不为现有的数据提供保证。 NOT VALID
检查约束没有任何问题。”那么,
NOT VALID
选项可以用于这个目的吗?还是最好使用验证触发器?