CREATE TRIGGER [UP_products_used] ON [dbo].[quotation_list] 
AFTER DELETE 
AS 
BEGIN 
DECLARE @items nvarchar(25) 
--SELECT @items = item_no FROM DELETED (同时删除有多条数据,要对每一条数据的取出做更新处理) 
UPDATE products SET used=0 from deleted WHERE products.item_no = deleted.item_no
END 

解决方案 »

  1.   

    CREATE TRIGGER [UP_products_used] ON [dbo].[quotation_list] 
    AFTER DELETE 
    AS 
    UPDATE a SET used=0 from products a join deleted b WHERE a.Item_No = b.Item_No 
      

  2.   

    TO-->sdhdy ,我刚问的问题没有叙述清楚。CREATE TRIGGER [UP_products_used] ON [dbo].[quotation_list] 
    AFTER DELETE
    AS
    BEGIN
    DECLARE @items nvarchar(25)
    DECLARE @ID int
    DECLARE @Counts int SELECT @ID=id,@items = item_no FROM DELETED (DELETED 临时表中id,item_no 都不同。想把每条的 id,item_no 都取出,然后去quotation_list 查询,看看这个表中还有没有存在该条的items ) SELECT @Counts = COUNT('A') FROM quotation_list WHERE item_no=@items AND id <>@ID (然后去quotation_list 查询,看看这个表中还有没有存在该条的items )
    IF (@Counts = 0) (不存在更新)
    UPDATE products SET used=0 WHERE Item_No = @items ()END
      

  3.   


    CREATE TRIGGER [UP_products_used] ON [dbo].[quotation_list] 
    AFTER DELETE 
    AS 
    BEGIN UPDATE a SET used=0 from products a, deleted b WHERE a.item_no = b.item_no and not exists(select 1 from quotation_list where item_no=b.item_no and id<>b.id )
    END