
所以例如我有一个像table(ID,EID,name,ISDeleted)
ISDeleted只能有一个值为null或’y'(活动或删除),我想仅在RecordStatus = null时才为EID,RecordStatus创建一个唯一的约束,因为我不关心是否有多个具有相同ID的删除记录.请注意,EID可以具有空值.
我正在使用Oracle DB.
您不能创建约束.但是您可以创建一个独特的基于函数的索引.这充分利用了Oracle不索引NulL值的事实 – 其中isDeleted为NOT NulL的任何行将不会包含在索引中,因此唯一约束将不适用于它们.CREATE UNIQUE INDEX one_not_deleted ON table_name( (CASE WHEN isDeleted IS NulL THEN eID ELSE null END) );总结
以上是内存溢出为你收集整理的oracle db中的条件唯一约束全部内容,希望文章能够帮你解决oracle db中的条件唯一约束所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)