创建Mysql存储过程出错

LinLinLin 2009-07-24 11:31:15
创建Mysql存储过程出错,请高手指点一下,本人初学Mysql。
错误一:
mysql> create procedure simpleproce1 ()
->begin
->select * from jn;
->end
->//
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 '->begin
->select * from jn;
->end
->' at line 2
后来网上查资料改成这样也还是提示创建失败。
mysql> delimiter //

mysql>
mysql> CREATE PROCEDURE simpleproc ()
-> begin
-> select * from jn;
-> end;
-> //
1307 - Failed to CREATE PROCEDURE simpleproc
...全文
243 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jacky3399 2010-03-01
  • 打赏
  • 举报
回复
我在APMServ 5.2.6(带的是MySQL 5.1.28)下也不能创建,在mysql 5.0.27下可以
vinsonshen 2009-07-24
  • 打赏
  • 举报
回复
语法应该没问题的,看看权限是否有吧
ACMAIN_CHM 2009-07-24
  • 打赏
  • 举报
回复
没试如下,没有问题啊。 你是否有权限,你的mysql版本是什么?

mysql> delimiter //
mysql> CREATE PROCEDURE simpleproc ()
-> begin
-> select * from jn;
-> end;
-> //
Query OK, 0 rows affected (0.00 sec)

mysql> delimiter ;
mysql>



提供一下
select versioin();
show grants;

的信息。
ASDFGHJKL987 2009-07-24
  • 打赏
  • 举报
回复
很神奇
LinLinLin 2009-07-24
  • 打赏
  • 举报
回复
我刚才把数据库换成MySQL 5.0.27就可以了创建成功了,之前用的是MySQL 5.1.28,不知道怎么回事,
我用的是整全的环境APMServ 5.2.0(带的是MySQL 5.0.27),APMServ 5.2.6(带的是MySQL 5.1.28)
ACMAIN_CHM 2009-07-24
  • 打赏
  • 举报
回复


比较奇怪了。把 simpleproc() 中间的空格去掉试一下。
LinLinLin 2009-07-24
  • 打赏
  • 举报
回复
to:ACMAIN_CHM
输入你提供的命令显示如下信息,还有权限如何设置,我是用Navicat8ForMysql,我在管理用户里把这个数据库的那些权限都选择√起来了。
mysql> select versioin();
ERROR 1305 : FUNCTION testdata.versioin does not exist
mysql> show grants;
+----------------------------------------------------------------------------------------------------------------------------------------+
| Grants for root@localhost |
+----------------------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*3AE212F935ACF1604624270303BE8B9B732909C9' WITH GRANT OPTION |
| GRANT ALL PRIVILEGES ON `testdata`.* TO 'root'@'localhost' WITH GRANT OPTION |
+----------------------------------------------------------------------------------------------------------------------------------------+
2 rows in set

mysql> delimiter //
mysql> CREATE PROCEDURE simpleproc ()
-> begin
-> select * from jn;
-> end;
-> //
ERROR 1303 : Can't create a PROCEDURE from within another stored routine
mysql>

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧