在未执行的条件中出现 SQL 语法错误
Getting SQL syntax error inside condition which is not executing
我是 运行 一个很长的 SQL 脚本,我在其中面临一个关于 "column not available"
的问题,条件是 false
。
流量没有进入内部状态,但仍然有问题
也尝试过 SET NOEXEC ON
但仍然遇到问题。
错误是在分析时抛出的,甚至在执行之前。如果出现 parse/validation 错误,则不会执行任何操作,因为 SQL 引擎认为代码编写有误。
IF OBJECT_ID('tempdb..#Example') IS NOT NULL
DROP TABLE #Example
CREATE TABLE #Example (
FirstColumn INT)
GO
IF 1 = 0 -- Always false
BEGIN
SELECT
C.NonExistantColumn
FROM
#Example AS C
END
--Msg 207, Level 16, State 1, Line 5
--Invalid column name 'NonExistantColumn'.
将批次发送到服务器时,您需要确保所有引用列都存在。另一种方法是使用 Dynamic SQL 执行您的语句(在您执行之前服务器不会解析)。
我是 运行 一个很长的 SQL 脚本,我在其中面临一个关于 "column not available"
的问题,条件是 false
。
流量没有进入内部状态,但仍然有问题
也尝试过 SET NOEXEC ON
但仍然遇到问题。
错误是在分析时抛出的,甚至在执行之前。如果出现 parse/validation 错误,则不会执行任何操作,因为 SQL 引擎认为代码编写有误。
IF OBJECT_ID('tempdb..#Example') IS NOT NULL
DROP TABLE #Example
CREATE TABLE #Example (
FirstColumn INT)
GO
IF 1 = 0 -- Always false
BEGIN
SELECT
C.NonExistantColumn
FROM
#Example AS C
END
--Msg 207, Level 16, State 1, Line 5
--Invalid column name 'NonExistantColumn'.
将批次发送到服务器时,您需要确保所有引用列都存在。另一种方法是使用 Dynamic SQL 执行您的语句(在您执行之前服务器不会解析)。