使用SQLBulkCopy插入SQL大写的SQL触发器更新不起作用

时间:2017-03-05 06:11:34

标签: triggers sql-server-2008-r2 sqlbulkcopy

我使用.NET SQLBulkCopy将数据批量插入数据库。我尝试做的是将数据插入表中时将所有指定的字符串转换为大写。这是我的触发器脚本:

ALTER TRIGGER [dbo].[EmployeeTable_UpperCase]
   ON  [dbo].EmployeeTable
  AFTER INSERT
AS 
BEGIN   

UPDATE EmployeeTable SET 
        [CompanyCode] = UPPER([CompanyCode])
       ,[EmpId] = UPPER([EmpId])
       ,[EmpCode] = UPPER([EmpCode])          
Where Id in (Select Id from inserted)   
END

上面的脚本不起作用。我的数据都没有转换为大写。是否与在.net中使用SQLBulkCopy进行插入有关?在我的案例中,我应该如何使事情发挥作用?

1 个答案:

答案 0 :(得分:1)

当您创建SqlBulkCopy对象时添加SqlBulkCopyOptions.FireTriggers,如下所示:

SqlBulkCopy bulkCopy = new SqlBulkCopy(connectionString, SqlBulkCopyOptions.FireTriggers);
  

FireTriggers
  指定后,使服务器触发插入到数据库中的行的插入触发器。    - SqlBulkCopyOptions Enumeration - MSDN