我使用.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
进行插入有关?在我的案例中,我应该如何使事情发挥作用?
答案 0 :(得分:1)
当您创建SqlBulkCopy
对象时添加SqlBulkCopyOptions.FireTriggers
,如下所示:
SqlBulkCopy bulkCopy = new SqlBulkCopy(connectionString, SqlBulkCopyOptions.FireTriggers);
FireTriggers
指定后,使服务器触发插入到数据库中的行的插入触发器。 - SqlBulkCopyOptions Enumeration - MSDN