我已經創建了一個包含以下列的表:SQL Server 2008 R2中的ObservationId,FirstCreatedDate,description,...和LastUpdatedDate。 ObservationId是一個身份,增加1.SQL Server在INSERT和Update上創建觸發器
我需要創建兩個觸發器,一個用於INSERT,另一個用於UPDATE。在插入新記錄時,INSERT觸發器將通過獲取當前日期時間來更新FirstCreatedDate列;在更新現有記錄時,UPDATE觸發器將通過獲取當前日期時間來更新LastUpdatedDate colunm。
我沒有做到這一點,因爲我猜測識別可能是問題。
任何人都可以幫我一把嗎?謝謝!
乾杯,亞歷克斯
ALTER TRIGGER [dbo].[T_InsertNewObservation] ON [dbo].[GCUR_OBSERVATION]
AFTER INSERT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for trigger here
UPDATE GCUR_OBSERVATION SET GCUR_OBSERVATION.FirstCreatedDate = getdate()
FROM GCUR_OBSERVATION a INNER JOIN INSERTED ins ON a.ObservationId = ins.ObservationId
END
你得到任何錯誤後在這裏請! –
當我手動嘗試在編輯表模式下添加新記錄時,我在查詢窗口中使用INSERT sql添加一條記錄,但未正確成功時發現這裏的代碼很奇怪。問題是識別ID字段旁邊出現一個紅色問號;然而,當我做了一個選擇所有查詢,記錄被添加.... ps。我正在使用SQL Server Management Studio。 – alextc