本帖最后由 weixiaoaimogu 于 2014-04-08 14:30:08 编辑

解决方案 »

  1.   

    create trigger tri_order on order
    for update 
    as 
    begin 
    if update(type)
    update a set value=0 from order as a inner join instered as i on a.id=i.id where i.type=1
    end
      

  2.   

    你好,用你的这个执行报错,我的sql是2000的不知道是不是这个问题
    消息 156,级别 15,状态 1,过程 tri_order,第 1 行
    在关键字 'order' 附近有语法错误。
    消息 156,级别 15,状态 1,过程 tri_order,第 6 行
    在关键字 'order' 附近有语法错误。
      

  3.   

    ----TRY
    create trigger tri_order on [order]
    for update 
    as 
    begin 
    if update(type)
    update a set value=0 from [order] as a inner join instered as i on a.id=i.id where i.type=1
    end
      

  4.   

    你好,用你的这个执行报错,我的sql是2000的不知道是不是这个问题
    消息 156,级别 15,状态 1,过程 tri_order,第 1 行
    在关键字 'order' 附近有语法错误。
    消息 156,级别 15,状态 1,过程 tri_order,第 6 行
    在关键字 'order' 附近有语法错误。改成这样试试,加上一个括号,因为order 是关键字:
    create trigger tri_order on [order]
    for update 
    as 
    begin 
    if update(type)
    update a set value=0 from [order] as a inner join instered as i on a.id=i.id where i.type=1
    end
      

  5.   

    你好,用你的这个执行报错,我的sql是2000的不知道是不是这个问题
    消息 156,级别 15,状态 1,过程 tri_order,第 1 行
    在关键字 'order' 附近有语法错误。
    消息 156,级别 15,状态 1,过程 tri_order,第 6 行
    在关键字 'order' 附近有语法错误。改成这样试试,加上一个括号,因为order 是关键字:
    create trigger tri_order on [order]
    for update 
    as 
    begin 
    if update(type)
    update a set value=0 from [order] as a inner join instered as i on a.id=i.id where i.type=1
    end
    你好 这样改可以创建了 但是修改Order表记录的值的时候报错了
    消息 208,级别 16,状态 1,过程 tri_orderT,第 6 行
    对象名 'instered' 无效。路途坎坷
      

  6.   

    你好,用你的这个执行报错,我的sql是2000的不知道是不是这个问题
    消息 156,级别 15,状态 1,过程 tri_order,第 1 行
    在关键字 'order' 附近有语法错误。
    消息 156,级别 15,状态 1,过程 tri_order,第 6 行
    在关键字 'order' 附近有语法错误。改成这样试试,加上一个括号,因为order 是关键字:
    create trigger tri_order on [order]
    for update 
    as 
    begin 
    if update(type)
    update a set value=0 from [order] as a inner join instered as i on a.id=i.id where i.type=1
    end
    你好 这样改可以创建了 但是修改Order表记录的值的时候报错了
    消息 208,级别 16,状态 1,过程 tri_orderT,第 6 行
    对象名 'instered' 无效。路途坎坷再修改一下,字母写错了,修改为inserted:
    create trigger tri_order on [order]
    for update 
    as 
    begin 
    if update(type)
    update a set value=0 from [order] as a inner join inserted as i on a.id=i.id where i.type=1
    end
      

  7.   

    你好,用你的这个执行报错,我的sql是2000的不知道是不是这个问题
    消息 156,级别 15,状态 1,过程 tri_order,第 1 行
    在关键字 'order' 附近有语法错误。
    消息 156,级别 15,状态 1,过程 tri_order,第 6 行
    在关键字 'order' 附近有语法错误。改成这样试试,加上一个括号,因为order 是关键字:
    create trigger tri_order on [order]
    for update 
    as 
    begin 
    if update(type)
    update a set value=0 from [order] as a inner join instered as i on a.id=i.id where i.type=1
    end
    你好 这样改可以创建了 但是修改Order表记录的值的时候报错了
    消息 208,级别 16,状态 1,过程 tri_orderT,第 6 行
    对象名 'instered' 无效。路途坎坷红色的改成inserted!!!!