相关疑难解决方法(0)

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

我有以下查询:

    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
查看次数

不希望能够创建不正确的存储过程

现在,我可以在 MS SQL Server Management Studio 中使用不正确的表和列引用并使用 ADO.NET 命令执行 CREATE PROCEDURE 或 ALTER PROCEDURE 脚本。脚本运行良好,但如果我使用 Management Studio 在 MS SQL Server 上打开创建的存储过程,我会看到错误的表和列以红色突出显示。我想在创建或更改存储过程时收到这些错误。我怎么做?

sql-server stored-procedures

2
推荐指数
1
解决办法
271
查看次数

标签 统计

sql-server ×2

query ×1

stored-procedures ×1

t-sql ×1