我如何在SQL小提琴查询中使用局部变量

时间:2015-07-17 19:39:43

标签: sql-server sql-server-2014 sqlfiddle

我试图创建一个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

1 个答案:

答案 0 :(得分:1)

正如@AaronBertrand建议的那样,使用GOa better practice,如下所示:

DECLARE @binsize INT = 5;
select @binsize;
GO

select 5;

注意:在 SQLFiddle 网站的右上角,您需要切换查询终止符以使用GO关键字。

SQL Fiddle Demo