背景:
     调用第三方函数向数据库插入一条记录。然后用SQL更新这条记录。
语言:
     C# VS2008
  
     
问题:
      
      用SQL去更新,刚才第三方函数创建出来的记录。发现受影响的记录为0。发现更新的时候记录还没有创建出来。     1.调用第三方函数,需要过一段时间,新记录才在数据库中创建出来。
     2.第三方函数,调用成功了就返回了,并没有在数据库中数据创建完时返回。
     3.只能通过第三方函数创建数据。      求大神有啥好的方法,暂时想到的只有定时查询数据库是否有数据创建出来有的话更新。但是如此会牺牲性能。
     

解决方案 »

  1.   

    用触发器,create trigger tr_tab on tab
    after insert
    as
    begin
      update a
      set [...]
      from tab a
      inner join inserted b
      on a.[主键]=b.[主键]
    end
      

  2.   

    谢谢啊,
      就是HEROWANG说的第二种情况,不能修改第三方函数。
      如果用触发器的话,更新数据需要传入参数,需要WHERE的限制,触发器可以吗?
         
      

  3.   

    插入成功返回什么?可以先判断返回标记,如果表示成功再用sql修改记录。