请大神们解决一下关于建立唯一约束问题。 唯一键,删除状态 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 那就两个列一起加alter table 【表名】add constraint 【约束名】unique(value,isdelete)如果isdelete可以多个等于0,就用触发器吧 value,isdelete并不唯一了,不能用约束来实现,还是通过前台程序控制吧 0 10 21 11 10 30 41 21 2类似这样的效果么? isdelete只有0|1 ? CREATE TRIGGER TRG_TRG ON TB INSTEAD OF INSERTASBEGIN 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 INSERTEDEND那考虑用触发器吧 SQL CASE WHEN 插入问题 我不知道下面这SQL语名要怎么写,望高手指点!! 数据库字段和怎么算的结果不对啊 奇怪了 sql2005的数据库如何连接sql2000里的数据库呀? Java连接SQL Server 2000 表1里有两个字段如库房1、库房2,库房有专门的表2,表1的两个字段是表2中相应库房的代码,如何显示表一数据! 如何在数据库中存byte[] 请帮忙写一个存储过程! 请教一个SQL语句该怎么写 什么书对ORCALE入门最好 SQL Server 2008事务复制在正常运行,如何将新表加到复制中? MySQL安装出现以下情况什么原因???????????
alter table 【表名】
add constraint 【约束名】unique(value,isdelete)如果isdelete可以多个等于0,就用触发器吧
0 2
1 1
1 1
0 3
0 4
1 2
1 2
类似这样的效果么? isdelete只有0|1 ?
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那考虑用触发器吧