繁体   English   中英

甲骨文。 约束一行以具有特定值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM