SQLFiddle:必须声明标量变量错误
SQLFiddle: must declare the scalar variable error
我正在尝试执行下一个 SQL 语句(SQL Server 2008 配置文件)
DECLARE @fun int;
SET @fun = 40;
select cast(@fun as varchar(10)) + 'hello'
和 SQLFiddle 给我错误:Must declare the scalar variable @fun
我哪里错了?
我认为分号在这里引入了问题。
如此处所述:http://www.sql-server-helper.com/error-messages/msg-137.aspx and here: SQL Server - Variable declared but still says "Must declare the scalar variable",当语句单独执行而不是作为一个“单元”执行时,问题就出现了,分号似乎会触发它。
当我从您的语句中删除分号时,它起作用了:http://sqlfiddle.com/#!3/d41d8/42159
您需要 select 上一个下拉列表中的 [开始]。
您不必删除分号,重要的部分是 select [GO] 作为右下角下拉列表中的查询终止符。
DECLARE @fun int;
SET @fun = 40;
select @fun;
GO
select 10;
GO
select @fun + 10;
前三句作为一个整体执行,因为现在;
没有结束查询。所以@fun 在那个范围内是可见的。
第二个街区注意你需要在GO之后留下一个space。
第三块将无法工作,因为@fun 未在此块中定义。
我正在尝试执行下一个 SQL 语句(SQL Server 2008 配置文件)
DECLARE @fun int;
SET @fun = 40;
select cast(@fun as varchar(10)) + 'hello'
和 SQLFiddle 给我错误:Must declare the scalar variable @fun
我哪里错了?
我认为分号在这里引入了问题。
如此处所述:http://www.sql-server-helper.com/error-messages/msg-137.aspx and here: SQL Server - Variable declared but still says "Must declare the scalar variable",当语句单独执行而不是作为一个“单元”执行时,问题就出现了,分号似乎会触发它。
当我从您的语句中删除分号时,它起作用了:http://sqlfiddle.com/#!3/d41d8/42159
您需要 select 上一个下拉列表中的 [开始]。
您不必删除分号,重要的部分是 select [GO] 作为右下角下拉列表中的查询终止符。
DECLARE @fun int;
SET @fun = 40;
select @fun;
GO
select 10;
GO
select @fun + 10;
前三句作为一个整体执行,因为现在;
没有结束查询。所以@fun 在那个范围内是可见的。
第二个街区注意你需要在GO之后留下一个space。
第三块将无法工作,因为@fun 未在此块中定义。