可以在录入前先查一下angel.d是否存在
不存在执行sql,

解决方案 »

  1.   

    做个触发器就可以了。例子如下:
    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
    go
      

  2.   

    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')
      

  3.   

    if not exists(select count 1 from angel whre angel.d='0022')
        insert into angel(angel.d,angel.s)values('0022','555')
      

  4.   

    badtank(爱与宿命的连发枪)的正确
    也可以先用你的程序判断,select * from 表 where field='条件'
    if rs.eof then
    说明没有这条数据然后insert
    else
    报错!