小编Mic*_*rst的帖子

即使检查列名是否存在,列名也无效,因此应该跳过查询部分

我有以下查询:

    IF EXISTS( SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'NotificationTableLogRows' AND COLUMN_NAME = 'DestinationAddress') BEGIN  
      UPDATE NotificationTableLogRows
      SET [HandlerID] = m.ID
      FROM [Unicare].dbo.MobileDevices m
      WHERE HandlerID is null 
      AND m.CallNumber = NotificationTableLogRows.DestinationAddress AND NotificationTableLogRows.HandlerTypeID = 2
    END
print 'end'
Run Code Online (Sandbox Code Playgroud)

但运行后,我仍然收到错误:

Msg 207, Level 16, State 1, Line 6
Invalid column name 'DestinationAddress'.
Run Code Online (Sandbox Code Playgroud)

但是它应该只打印结束

我究竟做错了什么?

编辑:

即使:

IF 1 = 0 BEGIN
    UPDATE NotificationTableLogRows
    SET [HandlerID] = m.ID
    FROM [Unicare].dbo.MobileDevices m
    WHERE HandlerID is null 
    AND m.CallNumber = NotificationTableLogRows.DestinationAddress …
Run Code Online (Sandbox Code Playgroud)

sql-server query t-sql

3
推荐指数
1
解决办法
7111
查看次数

标签 统计

query ×1

sql-server ×1

t-sql ×1