我們的原始數據庫已經爲人名稱調用了第一個,中間和最後一個。現在我們創建了名爲firstname,middlename和lastname的字段。當我們正在經歷這個轉換時,我創建了一個觸發器,可以在前一個字段接收到更新或插入的任何時候,將數據從第一個名字複製到第一個名字,中間名到中間名,最後一個名字。問題是當我們將文件批量上傳到我們的數據庫時,它會減慢一切,並可能導致其他事件超時。複製觸發器會顯着減慢數據庫操作的速度
下面是我的代碼:
USE [Database]
GO
/****** Object: Trigger [dbo].[CopyFirstName] Script Date: 07/15/2009 08:35:37 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[CopyFirstName]
ON [dbo].[Patients]
AFTER INSERT,UPDATE
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
IF UPDATE([First]) BEGIN
SET NOCOUNT ON;
declare @ChangedField nvarchar(50);
select @ChangedField = [First] from inserted
update dbo.Patients set FirstName = @ChangedField where [First] = @ChangedField
END
end
難道這是改善或做另一種方式?
這與事實一起工作太棒了,我們改變了批處理過程包括更新這兩個記錄,當它運行(多數民衆贊成在where子句進來非常方便) 謝謝 – Sean 2009-07-16 14:15:47