CREATE TRIGGER mytrigger
ON user_table
FOR update
AS
UPDATE order_table set order_table.str_name = inserted.str_name, order_table.str_group = inserted.str_group WHERE order_table.user_ID = inserted.user_ID当更新用户表的时候,同时也更新订单表中的相同数据段
以上代码在sql 2005中不成功
高手发一下更正方案。

解决方案 »

  1.   

    CREATE TRIGGER mytrigger
    ON user_table
    FOR update
    AS
    UPDATE order_table set order_table.str_name = inserted.str_name, order_table.str_group = inserted.str_group from inserted  WHERE order_table.user_ID = inserted.user_ID
    你加个from就可以了 这属于联合更新的语法  你没有加from inserted   所以找不到你要的inserted表
      

  2.   


    UPDATE t1 set t1.str_name = t2.str_name, t1.str_group = t2.str_group 
    from order_table t1
    inner join inserted t2
    on t1.str_group = t2.str_group 
    WHERE order_table.user_ID = inserted.user_ID