我试图创建一个sqlfiddle
DECLARE @binsize INT = 5;
select 5;
select @binsize; <-- this fail.
select 6;
得到了这个错误。
必须声明标量变量“@binsize”。
我找到了这样的示例,在sql server中运行正常。
USE AdventureWorks2012;
GO
DECLARE @find varchar(30);
/* Also allowed:
DECLARE @find varchar(30) = 'Man%';
*/
SET @find = 'Man%';
SELECT p.LastName, p.FirstName, ph.PhoneNumber
FROM Person.Person AS p
JOIN Person.PersonPhone AS ph ON p.BusinessEntityID = ph.BusinessEntityID
WHERE LastName LIKE @find;
SOLVE
使用GO更改解决问题。但仍然打开其他问题。
DECLARE @binsize INT = 5;
select @binsize + 2 ;
select @binsize + 5 ;
GO
仅返回7
答案 0 :(得分:1)
正如@AaronBertrand建议的那样,使用GO
是a better practice,如下所示:
DECLARE @binsize INT = 5;
select @binsize;
GO
select 5;
注意:在 SQLFiddle 网站的右上角,您需要切换查询终止符以使用GO
关键字。