要经常导入数据到表a 
citycode   varchar(20), 
cityname   varchar(20), 
provincename   varchar(20), 
userphone   varchar(20), 
begintime   varchar(20), 表b的数据是固定的 
citycode   varchar(20), 
cityname   varchar(20), 
provincename   varchar(20) 当插入citycode数据到表a的时候,cityname和prvincename两个字段的值想从表B中查询到,插入进去 Create   Trigger   [InsteadInsert]   On   a 
Instead   Of   Insert 
AS 
        Insert   A   Select   T1.citycode,T2.cityname,T2.provincename,T1.userphone,T1.begintime   from   Inserted   T1   Inner   Join   B   T2   On   T1.citycode=T2.citycode 
GO 我是这么写的。现在的情况是从excel中导入数据到表A,触发器不起作用啊?怎么办?单独插入数据的时候触发器可以起作用

解决方案 »

  1.   

    这要看你是怎么从EXCEL导入的了.
      

  2.   

    怎么讲??、?我导的时候是要这样导的
    在数据库里导入数据,源是excel,目标是数据表,就是想数据倒进来的时候就引发触发器,我想的是导进数据跟插入数据是一样的道理,结果却是插入数据可以触发,导入却不行
      

  3.   

    导入excel的语句?
    先将excel转为另外一个数据库,然后再插入此另一转为表的excel文件,应该可以引发触发器,(我认为)
      

  4.   

    大容量导入操作期间,行为取决于操作所使用的命令。bcp 命令和 BULK INSERT (Transact-SQL) 语句在默认情况下会禁用触发器。而 INSERT ... SELECT * FROM OPENROWSET(BULK...) 语句在默认情况下会执行触发器。bcp 
     -h "FIRE_TRIGGERS"
     提示
     
    BULK INSERT
     FIRE_TRIGGERS
     参数
     
    参考http://msdn.microsoft.com/zh-cn/library/ms187640.aspx
      

  5.   


    bulk   insert  ceshi  from   'c:\a.txt '   with(fire_triggers) 
    go 
    用这个来写导入5楼说得很对,参考http://msdn.microsoft.com/zh-cn/library/ms187640.aspx