UPDATE navigation SET number=number-1 where navigationid in (select navigationid from deleted)

解决方案 »

  1.   

    CREATE TRIGGER [navigationdele] ON [dbo].[navigation] 
    FOR  DELETE 
    AS
    UPDATE number SET number=number-1 where navigationid=(select navigationid from deleted)
      

  2.   

    不行,
    忘了后面还有一个条件
    CREATE TRIGGER [navigationdele] ON [dbo].[navigation] 
    FOR  DELETE 
    AS
    UPDATE navigation SET number=number-1 where navigationid  =  (select navigationid from deleted)  and number>(select number from deleted)
      

  3.   

    CREATE TRIGGER [navigationdele] ON [dbo].[navigation] 
    FOR  DELETE 
    AS
    UPDATE navigation SET number=number-1 
    where 
    navigationid  in(select navigationid from deleted)
     and
     number> any (select number from deleted)
    --这样就行了
      

  4.   

    要注意,在删除多行记录时,deleted表中有多条记录