首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

mysql中declare的有关问题

2012-07-30 
mysql中declare的问题如题,我在SQLyog Enterprise中执行如下代码,但是每次都是declare报错;在mysql命令行

mysql中declare的问题
如题,我在SQLyog Enterprise中执行如下代码,但是每次都是declare报错;在mysql命令行中也是如此,请问该怎么用declare呢?
代码如下:
CREATE PROCEDURE p8() 
BEGIN 
DECLARE a INT; 
DECLARE b INT; 
SET a = 5; 
SET b = 5; 
select pkid,name,userGroup_desc,parent_id,group_state from T_VSM_SECPOLICY_USERGROUP; 
END;
错误信息:
Error Code : 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3
(0 ms taken)

Error Code : 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DECLARE b INT' at line 1
(0 ms taken)

Error Code : 1193
Unknown system variable 'a'
(0 ms taken)

Error Code : 1193
Unknown system variable 'b'
(0 ms taken)

(35 row(s)returned)
(0 ms taken)

Error Code : 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'END' at line 1
(0 ms taken)

求解,谢谢

[解决办法]
declare cur0 cursor for select pkid from T_VSM_SECPOLICY_USERGROUP; --这里为什么报错?

declare 必须在其它语句之前。
[解决办法]
delimiter //
CREATE PROCEDURE p8()
BEGIN
declare cur0 cursor for select pkid from T_VSM_SECPOLICY_USERGROUP;
DECLARE a INT;
DECLARE b INT;
SET a = 5;
SET b = 5;
END//

热点排行