SQLFiddle:必须声明标量变量错误

SQLFiddle:必须声明标量变量错误,sql,sqlfiddle,Sql,Sqlfiddle,我正在尝试执行下一个SQL语句(SQL Server 2008概要文件) SQLFiddle给了我一个错误:必须声明标量变量@fun 我错在哪里 我认为分号在这里引入了问题 正如这里所描述的:和这里:,当语句单独执行而不是作为一个“单元”执行时,问题就出现了,分号似乎触发了这一点 当我从您的语句中删除分号时,它会起作用:您需要从上一个下拉列表中选择[Go]。您不必删除分号,重要的部分是在右下角的conner下拉列表中选择[Go]作为查询终止符 前三句话作为一个整体执行,因为现在不结束查询。所

我正在尝试执行下一个SQL语句(SQL Server 2008概要文件)

SQLFiddle给了我一个错误:
必须声明标量变量@fun

我错在哪里


我认为分号在这里引入了问题

正如这里所描述的:和这里:,当语句单独执行而不是作为一个“单元”执行时,问题就出现了,分号似乎触发了这一点


当我从您的语句中删除分号时,它会起作用:

您需要从上一个下拉列表中选择[Go]。

您不必删除分号,重要的部分是在右下角的conner下拉列表中选择[Go]作为查询终止符

前三句话作为一个整体执行,因为现在
不结束查询。所以@fun在这个范围内是可见的

第二个街区注意,你需要在出发后留下一个空间


第三个块不起作用,因为@fun没有在这个块中定义。

在这个简单的例子中,它起作用,当OP使用一个实际需要分号的查询构造时,它就会中断。
DECLARE @fun int;
SET @fun = 40;

select cast(@fun as varchar(10)) + 'hello'
DECLARE @fun int;
SET @fun = 40;
select @fun;
GO

select 10;
GO

select @fun + 10;