同じテーブルの別のcolumn2のすべてに現在一致するcolumn1があります。新しい行を追加してcolumn2に入力すると、column1が自動的に更新されるようになりました。これはSQLにあります。
私が考えていた
ALTER TABLE dbo.Table
alter column column1 as column2
動作する可能性がありますが、動作しないようです。
alterステートメントに沿ったもの(つまり、トリガーなし)でこれを行うことは可能ですか?
同じテーブルの別のcolumn2のすべてに現在一致するcolumn1があります。新しい行を追加してcolumn2に入力すると、column1が自動的に更新されるようになりました。これはSQLにあります。
私が考えていた
ALTER TABLE dbo.Table
alter column column1 as column2
動作する可能性がありますが、動作しないようです。
alterステートメントに沿ったもの(つまり、トリガーなし)でこれを行うことは可能ですか?
TRIGGERを使用すると、Column1が変更されるたびにColumn2を自動的に更新できます。
--My SQL Server isn't up to par, there's probably a better way to do this
CREATE TRIGGER MyTrigger
ON Table
AFTER UPDATE
AS
UPDATE Table
SET Column2 = Column1
WHERE Id IN (SELECT DISTINCT Id FROM Inserted)
Column2を計算列にすることもできます。
ALTER TABLE Table
ADD Column2 AS (Column1)
2つを常に同期させたい場合は、既存の列を削除して、同じ名前の新しい計算列に追加することをお勧めします。
3番目の方法は、Column1を2回公開するだけのVIEWを作成することです。
CREATE VIEW MyView AS
SELECT Column1, Column1 as Column2 FROM Table