我想实现在插入的数据时,先检查该数据是否已在数据库中已经存在,如果存在就不行执行,反之则执行insert语句?
原本以为很简单,做起来却不知道如何下手了。:(
原本以为很简单,做起来却不知道如何下手了。:(
解决方案 »
- 如何把一张表的内容竖着排列??
- 用系统当前日期,赋值给一个字段,SQL语句?
- 求助几个SQL中的数据应该用什么类型存储?
- 请教MAX()函数
- sp_detach_db/sp_attach_db 命令的一系列问题
- 群策群力,请大家一起来帮忙用ADO和ADOX来编写一个SQLServer企业管理器。
- 怎麼在edit1表達這個統計結果!謝謝.
- 求一sql语句,万望帮忙啊~~
- 在sqlserver2000里面插入一条新记录,这条记录的的字符型里包含了单引号,结果提示出错,有没有什么比较好的解决办法??
- 请问主从表建外键和不建外键有什么区别?请教高手!谢谢。
- 怎样只查询今年的数据?
- sql2005的问题,是高手的进来
on Table1
for insert
as
if exists (select 1 from Table1 a,Inserted b where a.checksum(*)=b.checksum(*))
rollback
end
insert a
select 1
union all
select 2
union all
select 3
create proc cx
@i int --待插入数据
as
begin transaction
if exists(select id from a where id=@i)
begin
rollback transaction
begin transaction
end
else begin
insert a(id)
select @i
end
commit transaction exec cx @i=1
exec cx @i=4
select * from adrop table a
drop proc cxid
-----------
1
2
3(所影响的行数为 3 行)id
-----------
1
2
3
4(所影响的行数为 4 行)
declare @b varchar(20)
select @a = count(*) from tablename
where columnname = @b
if(@a > 0)
begin
insert into ...
end