日期:2014-05-17  浏览次数:20789 次

求建表时的约束语法
求建表时的约束语法
我有表 T1
ID CHAR(10)
NAME CHAR(10)

SC CHAR(10)
取值为 0 或 1 取1时为无效标志

要求是 在SC 为1 时 NAME是唯一的,不能重

------解决方案--------------------
不好意思,如果你的sc有可能是0|1 以外的值,需要将
decode(sc,0,id)
修改为
decode(sc,'0',id||'')

不过这样的话逻辑就变了,除了0可以重复以外,其他的都不可以重复,比如说
name sc 
dex 1
dex d
dex 2

这其中的任意两行绝对不会同时出现在表中