[英]Update a column of each and every newly inserted (same row) record on a table depends on another column value without Trigger and default constraint
我有一個帶有標識列(例如Column1
)和整數列Column2
(可為空)的表
在向該表中插入一行時,如果傳遞給Column2
值為null,則復制Column1
值。 如果不將null值作為column2
參數傳遞,則保留給定值。
僅在每次插入之后,才應進行此檢查和更新。
但是按照給我的指示,不應使用默認約束和觸發器(插入后)。
這是出於審計目的。 該表中的記錄將從一個表移動/切換到另一表。 交易量和交易量很高(數十億條記錄)。
你能幫我嗎?
謝謝,Baskaran
Insert into tablename (column1, columns2) Values (value1, ISNULL(Value2,value1))
我認為這是您所期望的。
如果您真的想在觸發器中執行此操作,請嘗試以下操作:
CREATE TRIGGER TrgAfterINsert
ON dbo.YourTable
AFTER INSERT
AS
UPDATE t
SET Column2 = i.Column1
FROM dbo.YourTable t
INNER JOIN Inserted i ON i.Column1 = t.Column1
WHERE t.Column2 IS NULL
這基本上是在INSERT
之后更新YourTable
表,並且在column2
中插入了NULL
任何行都將更新,以使column2
等於該行的column1
值
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.