[英]Oracle. Constrain one row to have a certain value
我想在一个表中添加一个约束,其中任何一次只能存在一行,并且某一列中的值。
例如,创建表MyTable .... status varchar(1); )
状态栏检查为“O”,“C”,“P”表示打开,关闭或待处理。
可以有多个Closed和Pending,但表中只有一行(或没有)可以是Open。
任何指针赞赏。
创建一个唯一的函数索引:
CREATE UNIQUE INDEX myindex ON mytable( CASE status WHEN 'O' THEN 'O' END );
它将阻止插入两个“O”值,但允许其他重复值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.