由于同一个表的不同版本,我需要执行一个 INSERT 或另一个,具体取决于列是否存在。
我在这个线程上做了这个方法,但是 SQL Server 的预检查或“编译排序”检测到一个在执行期间不会失败的错误。
这是一些代码
IF COL_LENGTH('TableA', 'Column2') IS NOT NULL
BEGIN
INSERT INTO [dbo].[TableA]([Column1], [Column2], [Column3], [Column4])
SELECT value1, value2, value3, value4
END ELSE
BEGIN
INSERT INTO [dbo].[TableA]([Column1], [Column3], [Column4])
SELECT value1, value3, value4
END
任何解决方法?