這裡是Delphi不是Sql, 當然無人會回答你的sql問題,
你是用MS SQL嗎?
在Create Trigger有語法上, 有分before update或 after update狀況嗎?

解决方案 »

  1.   

    這裡是Delphi不是Sql, 當然無人會回答你的sql問題,
    你是用MS SQL嗎?
    在Create Trigger有語法上, 有分before update或 after update狀況嗎?
      

  2.   

    好象没有,这个问题你能回答吗?
    我试了一下,如果没有AND,即去掉几个条件可以触发,可是实际是这些条件缺一不可.怎么办??
      

  3.   

    这个触发器好象问题很多,给你一个我写的,可以正常触发
    CREATE TRIGGER [tri_update_inrec] ON [dbo].[InRecord] 
    FOR UPDATE
    AS
     Declare @NewNumber float,@OldNumber float,@OldPartCode int,@NewPartCode int
     if update(innumber) or update(PartCode)
      begin
        declare update_cursor cursor for select  i.PartCode as NewPartCode,d.PartCode as OldPartCode,i.innumber as newnumber,d.innumber as OldNumber from inserted i ,deleted  d where i.InRecordID=d.InRecordID
        open update_cursor
        fetch next from update_cursor into @NewPartCode,@OldPartCode,@NewNumber,@OldNumber
        while @@fetch_status=0
        begin
          update part set CurrentStorage=CurrentStorage+@NewNumber where PartCode=@NewPartCode
          update part set CurrentStorage=CurrentStorage-@OldNumber where PartCode=@OldPartCode
          fetch next from update_cursor into @NewPartCode,@OldPartCode,@NewNumber,@OldNumber
        end
        close update_cursor
        deallocate update_cursor
      end