table2是不是有触发器干扰了数据的插入?

解决方案 »

  1.   

    CREATE TRIGGER dbo.TriggerName
    ON Table1
    FOR insert,update
    AS
    insert into Table2
    select column1,column2 from Inserted
      

  2.   

    --执行下面的语句,再试试:alter table table2 DISABLE TRIGGER all
      

  3.   

    哦,是楼主的语法错误。for table1改成for insert 就好了。
      

  4.   

    晕~
    我是写的For Insert。
    我再把问题说清楚一点:1,table2是个新表,没有任何触发器
    2,我的程序属于二次开发:使用STS建立办公自动化系统,在SQL数据库中存放了用户的一些 重要数据,比如用户名称、上传文件日期、修改日期、文件名称、接收用户名称、文件状态……当在用户界面用户给某人发送文件后,数据表中便插入了一条相关记录。我要做的就是当插入完这条记录后(不在STS中修改代码),使用触发器把这些刚插入的数据再放到另一个表中,再进行处理。
    3,有这样一个问题,在STS原程序中,如果插入这条记录的过程不同,比如先插入一条空记录(如果字段有默认值就是默认值,否则为空),再把某个字段的值赋新值,这样在Inserted表中的数据会是什么,如果使用Update触发器,在Inserted表中又会怎样?
    4,我使用了for insert,update后得到了三条记录,第一条的记录是默认值,后两条一样,是我想要的,不过两条一样的记录不好处理呀~