0
TSQLでは、カラムの値が変更されているかどうかを検出できますか?任意の列が変更されたが、特定の列(created_at)が変更された唯一のものであれば、何も挿入しないでください。特定のカラムが1つしかない場合を除いて、カラムが変更された場合は挿入
私はこれを持っているが、それはまだたびに挿入し、でもそれは何も何かがcreated_at
以外の任意の列から変更された場合、私は唯一の挿入することができますどのように
BEGIN
INSERT INTO dbo.Changes (
[name]
--... other columns
[created_at]
)
SELECT
ins.[name],
ins.[created_at]
FROM INSERTED ins
WHERE
[name] != ins.[name] OR
[age] != ins.[age]
を変更しなかったのか?あなたのロジックが正しくNULL
値を処理しないこと
SELECT ins.[name], ins.[created_at]
FROM INSERTED ins JOIN
DELETED del
ON ins.id = del.id
WHERE del.[name] <> ins.[name] OR
del.[age] <> ins.[age];
注:あなたのテーブルを想定し
おかげ
完璧、ありがとう!ちょっと変わって、私は 'ins.IDENTITYCOL'と' del.IDENTITYCOL'を使用しなければなりませんでした – TryNCode