create trigger yourtrigger on table instead of 
insert into table(A1,A2,A3,A4)
select A2+A3+A4,A2,A3,A4
from inserted

解决方案 »

  1.   

    create trigger yourtrigger on table instead of insert as
    insert into table(A1,A2,A3,A4)
    select A2+A3+A4,A2,A3,A4
    from inserted
      

  2.   

    /* create trigger yourtrigger on [taf_W_ProcessOfMake_RegularOfWork] of insert as
    insert into taf_W_ProcessOfMake_RegularOfWork(RegularID,MachineKey,WorkerNumber,Regular)
    select MachineKey+MachineKey+Regular,MachineKey,WorkerNumber,Regular
    from inserted */ 
    或者
     /* create trigger yourtrigger on table of insert as
    insert into taf_W_ProcessOfMake_RegularOfWork(RegularID,MachineKey,WorkerNumber,Regular)
    select MachineKey+MachineKey+Regular,MachineKey,WorkerNumber,Regular
    from inserted */ 都不行啊。运行语法检查对应的错误提示如下
    ERROR 156:Incorrect syntax near the keyword 'table'

    ERROR 156:Incorrect syntax near the keyword 'instead'

    ERROR 156:Incorrect syntax near the keyword 'of'
      

  3.   

    create trigger yourtrigger on [taf_W_ProcessOfMake_RegularOfWork] instead of insert as
    insert into taf_W_ProcessOfMake_RegularOfWork(RegularID,MachineKey,WorkerNumber,Regular)
    select MachineKey+MachineKey+Regular,MachineKey,WorkerNumber,Regular
    from inserted 
      

  4.   

    还是不行啊。。错误提示。。
    Incorrect syntax near the keyword 'instead'
      

  5.   

    instead 是什么意思
    inserted是插入前记录的拷贝 instead 是什么意思?
    instead of insert as 我看MSDN上是FOR INSERT 不是OF。这个OF是什么意思啊我好急啊晕。。最怕这样的事情。。各位高手救救我啊
      

  6.   

    instead of insert as

    for insert as 
    是两种不同的触发形式。若你的触发器不支持instead of,试试:
    create trigger yourtrigger on [taf_W_ProcessOfMake_RegularOfWork] for insert as
    update taf_W_ProcessOfMake_RegularOfWork
    set RegularID = MachineKey + WorkerNumber + Regular
    where regularid in (select regularid from inserted) or regularid is null但有弊端,每次插入记录时,可能会去更新其他不相关的记录。
      

  7.   

    我使用的SQL SERVER 版本为7.0怎样才能使触发器支持instead of insert as形式?