2015-05-05 19 views
1

我想在SQL中声明一个变量。我曾经尝试都在SQL中声明@变量返回一个错误

declare @mean INT; 
set @mean = .5; 

declare @mean INT 
set @mean = .5 

我不断收到此错误:

An unexpected token "" was found following "". Expected tokens may include: "declare @mean INT"

回答

1

如果这是在存储过程中,您不需要@为本地变量。 如果这只是您尝试创建的会话变量,则不需要DECLARE;只是SET @mean := 5;

我不积极,但我认为DECLARE可能甚至不存在存储过程之外有效。

2

如果你想声明的变量使用定义松散类型的用户自定义变量“@”,你可以简单地去:

SET @mean := .5 

如果没有,那么也许你要定义一个在存储过程中的变量,那么你也许可以定义如下:

DECLARE mean INT; 
SET mean = .5;  // not sure you mean INT here though? 

你会发现这个SO link useful用于描述在我的SQL变量的差异。另请查看mysql手册(user variables)/(local variables)。

我认为这里的一些混淆可能源于T-SQL在Mysql中使用的不同语法,但请阅读上面的链接并使用适合您的任何方法。