插入重复数据问题
例如,有一个表[id,name,class](id递增)首次我插入的时候,生成一列表
但是如果我在名字表加入了一个name,再次插入时,他再插一次原来已经有的数据(name和class相同,只是id不同)才新插我新增的name和class
我可以在SQL里面设置,使之自动判别如果插入的同一行的name和class 与之前已插入的已经重复,就不再插入,只插入新数据吗?
存储过程
create proc [InsertData]
(
@Name varchar(15),
@Class varchar(15)
)
as
begin
if((select count(*) from table1 where name=@Name)>0)
print '已经存在用户名为 '+ @Name +' 的记录'
else
insert into table1 values(@Name,@Class)
end
go
[此贴子已经被作者于2006-12-20 12:51:38编辑过]
存储过程
create proc [InsertData]
(
@Name varchar(15),
@Class varchar(15)
)
as
begin
if((select count(*) from table1 where 0">name=@Name)>0)
print '已经存在用户名为 '+ @Name +' 的记录'
else
insert into table1 values(@Name,@Class)
end
go
这条语句有错吗?我看不明白这里where 0">name=@Name)>0,这是什么意思?
问题是怎么把name列的数据与新插入的数据比较?
新插入的数据会被存放在inserted表中,建议去看看触发器 ,这问题用触发器比较简单
这条语句有错吗?我看不明白这里where 0">name=@Name)>0,这是什么意思?
问题是怎么把name列的数据与新插入的数据比较?
不好意思,开始写错了,没注意看,现在改过了,试试看可以不?
不好意思,开始写错了,没注意看,现在改过了,试试看可以不?
没关系。谢谢你这么热心解答问题!