当前位置: 代码迷 >> Sql Server >> 请大神们解决一下关于建立唯一约束有关问题
  详细解决方案

请大神们解决一下关于建立唯一约束有关问题

热度:77   发布时间:2016-04-24 09:29:44.0
请大神们解决一下关于建立唯一约束问题。
有两列(value,isdelete):当删除状态(isdelete) 等于0时,value是唯一键,当删除状态(Isdelete) 为1时,value可以录入重复值。
------解决思路----------------------
那就两个列一起加
alter table 【表名】
add constraint 【约束名】unique(value,isdelete)

如果isdelete可以多个等于0,就用触发器吧
------解决思路----------------------
value,isdelete并不唯一了,不能用约束来实现,还是通过前台程序控制吧
------解决思路----------------------
CREATE TRIGGER TRG_TRG
ON TB
INSTEAD OF INSERT
AS
BEGIN
IF EXISTS(
SELECT 1
FROM TB T1
JOIN INSERTED T2 ON T1.value=T2.value 
WHERE T1.isdelete=0 AND T2.isdelete=0
)
RAISERROR(N'1231.',10,1)
    ELSE
INSERT INTO TB
SELECT * FROM INSERTED
END
那考虑用触发器吧
  相关解决方案