假设您尝试运行以下查询:
SELECT *
FROM dbo.Customers c
WHERE id = @id
AND dateTimeCreated = @date
您将收到一条错误消息,如下所示Must declare the scalar variable "@id".
据我了解,这发生在查询的初始解析期间,在执行任何代码之前。
是否可以让 SQL Server 一次报告所有丢失的变量,或者这正是查询解析器的工作方式?
假设您尝试运行以下查询:
SELECT *
FROM dbo.Customers c
WHERE id = @id
AND dateTimeCreated = @date
您将收到一条错误消息,如下所示Must declare the scalar variable "@id".
据我了解,这发生在查询的初始解析期间,在执行任何代码之前。
是否可以让 SQL Server 一次报告所有丢失的变量,或者这正是查询解析器的工作方式?
错误列表
错误列表可能会为您提供所需的内容:
你可以
View --> Error List
在ssms中打开要获取所有构建 + 智能感知错误:
错误列表和查询执行的消息选项卡之间的差异:
错误列表
消息选项卡
所以回答这个问题:
使用一般查询执行这是不可能的,因为解析会在一两个编译错误后停止,但您可以使用错误列表。