sql server 2008触发器如何判断数据已经存在
一个月内出现多次电话,每个电话后面对应一个数值,现在插入一个电话,如何判断这个电话所对应的数值与以前的重复,然后将数值+1。
补充:if exists (select 1 from Test where phone=@phone)
begin
if RIGHT (CONVERT(VARCHAR(19),@number),3)='999'
begin
INSERT INTO Temp SELECT number FROM Test;
end
else if RIGHT (CONVERT(VARCHAR(19),@number),2)='99'
begin
INSERT INTO Temp SELECT number FROM Test;
set @number=@number+1;
end
且将这条信息放入一个临时表中,等到下一条数据传进来时,在进行以此判断,如果不重复,就将这条信息再添加到这个数据表中
答案:创建一个before触发器,每次执行insert的时候
create triger tr_reInsert
on test
befor insert
as
begin
if exists(select * from test where phone=@phone)
rollback trans
else
insert into test values(..)
end
上一个:sql server 2008 express sp1 安装完后需要再打补丁吗
下一个:关于SQL Server 的疑问