SQL データベースをアップグレードしたところ、アップグレードされたバージョンのテーブルに新しい列が追加されました
例えば、
Table1
列がありますColumn1, Column2
。
アップグレードされたデータベース バージョンでは、余分な列が追加されます
Table1
列が追加されましたColumn1, Column2, Column3
両方のバージョンで動作するスクリプトを作成しようとしています。このスクリプトは次のようになります。
DECLARE @DBVersion varchar(25)
select @DBVersion = (select DBVersion from DBVersions)
IF @DBVersion = 'Old'
BEGIN
INSERT Table1 (Column1, Column2)
SELECT Value1, Value2
FROM TempTable
END
IF @DBVersion = 'New'
BEGIN
INSERT Table1 (Column1, Column2, Column3)
SELECT Value1, Value2, Value3
FROM TempTable
END
このスクリプトを古いデータベース バージョンで実行すると、エラーが発生します
無効な列名 'Column3'
これは、SQL が実行前にスクリプトをコンパイルし、見つけることができないためだと思います。これを修正して、両方のデータベース バージョンで実行できるスクリプトを開発する方法はありますか?