SQL存储过程变量

时间:2017-03-13 09:53:09

标签: mysql stored-procedures

我正在测试这个存储过程的东西,我尝试使用变量,

BEGIN

DECLARE @day int;
SET @day = 1;

IF (1 = 1) THEN

         SET @query = 'SELECT @day';

END IF;
               PREPARE stmt FROM @query;
               EXECUTE stmt;
               DEALLOCATE PREPARE stmt;

END

这对于不同的查询完全正常,并且没有声明变量,我知道变量有问题,我已经研究了很多关于这个,我无法找到任何答案。我有这个错误

enter image description here

2 个答案:

答案 0 :(得分:0)

如果您使用的是SQL-Server,则必须声明变量: key1 key2 value 0 4312 5135 [0,0.11,0.22] 1 1515 32 [0.92,0.11,0.65] 2 42 56 [0.2,0.5,0.23]

答案 1 :(得分:0)

得到它。

我只需要SET @day := 1;代替SET @day = 1;