在录入时如何判断这个数据是否以有?一段SQL
比如在录入下面内容时:
insert into angel(angel.d,angel.s)
values(0022,555)
如果angel.d这个字段这次录入如果库中没有就执行,而如果以有就不执行,并提示,把录入筐清空,谢谢
问题点数:50、回复次数:6Top
1 楼lbd8848(lbd)回复于 2002-11-22 11:14:31 得分 0
不能先判断,后插入吗?Top
2 楼lining_1977(ln)回复于 2002-11-22 11:18:57 得分 0
可以在录入前先查一下angel.d是否存在
不存在执行sql,
Top
3 楼sky_blue(蓝天2007)回复于 2002-11-22 11:32:25 得分 20
做个触发器就可以了。
例子如下:
create trigger angel_trigger on test instead of insert
as
begin
declare @max int
declare @count int
select @count=count(test.a),@max=max(test.a) from test ,inserted where test.a = inserted.a
if @count <> 0 raiserror ('兄弟,以%d为首的%d个数据就在字段a中了,你可不能这么做!',16,1,@max,@count)
else insert test select * from inserted
end
goTop
4 楼tj_dns(愉快的登山者)回复于 2002-11-22 11:56:10 得分 20
declare @count int
set @count = 0
select @count=count(*) from angel where angel.d = '0022'
if @count = 0
insert into angel(angel.d,angel.s) values('0022','555')
Top
5 楼badtank(爱与宿命的连发枪)回复于 2002-11-22 14:16:47 得分 5
if not exists(select count 1 from angel whre angel.d='0022')
insert into angel(angel.d,angel.s)values('0022','555')
Top
6 楼setfocus(斗是懂一点)回复于 2002-11-22 14:40:51 得分 5
badtank(爱与宿命的连发枪)的正确
也可以先用你的程序判断,select * from 表 where field='条件'
if rs.eof then
说明没有这条数据然后insert
else
报错!
Top




