我们升级了一个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 在执行之前编译脚本并且无法找到有没有办法解决这个问题并开发一个可以在两个数据库版本中运行的脚本?