T-Sql appears to be evaluating “If” statement even when the condition is not true

后端 未结 2 560
失恋的感觉
失恋的感觉 2020-12-20 17:19

I have a T-Sql script where part of this script checks to see if a certain column exists in the a table. If so, I want it to execute a routine... if not, I want it to bypas

2条回答
  •  暗喜
    暗喜 (楼主)
    2020-12-20 17:56

    Make your statement a string. And if column exists, execute it

    IF COL_LENGTH('Database_Name.dbo.Table_Name', 'Column_Name1') IS NOT NULL
    BEGIN
        DECLARE @sql VARCHAR(MAX)
        SET @sql = 'UPDATE Table_Name
                SET Column_Name2 = (SELECT Column_Name3 FROM Table_Name2
                    WHERE Column_Name4 = ''Some Value'')
                WHERE Column_Name5 IS NULL;
    
            UPDATE Table_Name
                SET Column_Name6 = Column_Name1
                WHERE Column_Name6 IS NULL;'
         EXEC(@sql)
    END
    

提交回复
热议问题