我试图创建一个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;
解决
进行 GO 更改可以解决问题。但仍然打开其他问题。
DECLARE @binsize INT = 5;
select @binsize + 2 ;
select @binsize + 5 ;
GO
只返回 7