当前位置: 代码迷 >> Oracle管理 >> 求筑表时的约束语法
  详细解决方案

求筑表时的约束语法

热度:96   发布时间:2016-04-24 05:12:39.0
求建表时的约束语法
求建表时的约束语法
我有表 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

这其中的任意两行绝对不会同时出现在表中
  相关解决方案