create table pic
(
   product_id varchar(20) references product(id) on update cascade on delete cascade,
   pic varchar(20)
)

解决方案 »

  1.   

    IF EXISTS (SELECT name 
       FROM   sysobjects 
       WHERE  name = N'<TR_PROD>' 
       AND    type = 'TR')
        DROP TRIGGER TR_PROD
    GOCREATE TRIGGER TR_PROD
    ON PRODUCT
    FOR  UPDATE 
    AS 
    If UPDATE(ID)
    BEGIN
     UPDATE PIC SET PRODUCT_ID=A.ID FROM DELETED A WHERE ....
    END
    GO
      

  2.   

    UPDATE PIC SET PRODUCT_ID=A.ID FROM DELETED A WHERE ....  这个不对吧,怎么更新成老的了???
      

  3.   

    create trigger tr1
    on product 
    for update 
    as 
    update pic set product_id=(select id from inserted) where product_id=(select id from deleted )
    测试数据:update product set id=5 where id=1
      

  4.   

    但where 里面怎么写?UPDATE PIC SET PRODUCT_ID=A.ID FROM DELETED A WHERE PRODUCT_ID=B.ID FROM INSERTED B