CREATE TRIGGER TRIGGERNAME ON [yourtable] 
FOR INSERT
AS
insert 库名..yourtable2(col1,col2,col3..)
select col1,col2,col3.. from inserted

解决方案 »

  1.   

    --错了点:
    CREATE TRIGGER TRIGGERNAME ON [yourtable] 
    FOR INSERT
    AS
    insert 库名..yourtable2 values(col1,col2,col3..)
    select col1,col2,col3.. from inserted
      

  2.   

    谢谢兄台,小弟还有一事不明,为什么我写的触发器一用insert语句就出错呢:(
    下面是出错的代码,请高手帮我分析一二:
    CREATE TRIGGER TRG_WEB_PLAN_UPDATE ON [dbo].[TNP_WEB_PLAN] 
    FOR UPDATE 
    AS
    DECLARE @PLANID INT --计划的ID
    DECLARE @ACTION_USER INT --项目计划的发布人
    DECLARE @PLAN_CATEGORIE INT --计划类别
    DECLARE @ACTION_USER_WORK INT --工作计划的发布人SELECT @PLANID=ID,@ACTION_USER=PLAN_EDITOR,@PLAN_CATEGORIE=PLAN_CATEGORIE FROM INSERTEDIF @PLAN_CATEGORIE=1 --表示该计划是一个工作计划
    BEGIN
    SELECT @ACTION_USER_WORK=USER_LEADER FROM TNP_WEB_USER WHERE ID=@ACTION_USER
    SELECT @ACTION_USER = @ACTION_USER_WORK 
    ENDIF UPDATE (PLAN_MSP_WPROJ_ID)
    INSERT INTO [TalentProjectServer].[dbo].[TNP_WEB_RECORD] (PLAN_ID,ACTION_TYPE,ACTION_OBJECT_ID,ACTION_OBJECT_TYPE,ACTION_TIME,ACTION_USER) VALUES (@PLANID,5,@PLANID,1,GETDATE(),@ACTION_USER)
      

  3.   

    create table temps(id int,dd varchar(10) default 'dfds')
    insert temps values(1,default)
    insert temps values(2,default)
    select * from temps
    alter table temps drop column dd--报错alter table temps drop DF__temps__dd__531856C7
    alter table temps drop column dd
    select * from temps
      

  4.   

    ----你可以在触发器做一些标记用来查错!
    CREATE TRIGGER TRG_WEB_PLAN_UPDATE ON [dbo].[TNP_WEB_PLAN] 
    FOR UPDATE 
    AS
    DECLARE @PLANID INT --计划的ID
    DECLARE @ACTION_USER INT --项目计划的发布人
    DECLARE @PLAN_CATEGORIE INT --计划类别
    DECLARE @ACTION_USER_WORK INT --工作计划的发布人SELECT @PLANID=ID,@ACTION_USER=PLAN_EDITOR,@PLAN_CATEGORIE=PLAN_CATEGORIE FROM INSERTEDselect @planid,@action_user,@plan_categorie---看看是否有数据IF @PLAN_CATEGORIE=1 --表示该计划是一个工作计划
    BEGIN
    SELECT @ACTION_USER_WORK=USER_LEADER FROM TNP_WEB_USER WHERE ID=@ACTION_USER
    SELECT @ACTION_USER = @ACTION_USER_WORK select @action_user_work--看看是否能进入条件语句
    ENDIF UPDATE (PLAN_MSP_WPROJ_ID)
    INSERT INTO [TalentProjectServer].[dbo].[TNP_WEB_RECORD] (PLAN_ID,ACTION_TYPE,ACTION_OBJECT_ID,ACTION_OBJECT_TYPE,ACTION_TIME,ACTION_USER) VALUES (@PLANID,5,@PLANID,1,GETDATE(),@ACTION_USER)
    ----把VALUES (@PLANID,5,@PLANID,1,GETDATE(),@ACTION_USER)里面所有的值用数据代替,看看能不能插入!