mysql存储过程的declare语句问题?

疾似云流 2009-10-21 10:01:43

create procedure proc()
begin
declare var integer(15);
end


这段代码开始是在linux下运行(ubuntu9.04 + mysql 5.1.31)没有问题,但是后来移到windows下(windows xp + mysql 5.1.39)就出问题了,错误消息如下:
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.

把declare语句去掉后,后面的语句都能被mysql正常解释。多次实验,发现windows版本下的mysql的存储过程似乎不支持declare语句,遇到declare就报错。这不应该啊,都5.1了,而且同版本号的linux版都能正常解释。

哪位仁兄能解释一下呢?
...全文
540 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
懒得去死 2009-10-23
  • 打赏
  • 举报
回复
加入 DELIMITER 就OK了。看下手册以及LS几位的解答。
疾似云流 2009-10-23
  • 打赏
  • 举报
回复
的确是delimiter的问题。
不好意思,献丑了……
nianzhang747 2009-10-21
  • 打赏
  • 举报
回复
mysql> delimiter //
mysql> create procedure proc()
-> begin
-> declare var integer(15);
-> end
-> //
Query OK, 0 rows affected (0.05 sec)
我的也没问题
vinsonshen 2009-10-21
  • 打赏
  • 举报
回复
不会啊

mysql> delimiter //
mysql> create procedure proc()
-> begin
-> declare var integer(15);
-> end
-> //
Query OK, 0 rows affected (0.00 sec)

mysql> call proc();
-> //
Query OK, 0 rows affected (0.02 sec)

mysql> select version();
-> //
+------------------+
| version() |
+------------------+
| 5.1.34-community |
+------------------+
1 row in set (0.00 sec)

mysql>
阿_布 2009-10-21
  • 打赏
  • 举报
回复
我的怎么不报错啊!windows

mysql> delimiter //
mysql> create procedure proc()
-> begin
-> declare var integer(15);
-> end
-> //
Query OK, 0 rows affected (0.02 sec)
ACMAIN_CHM 2009-10-21
  • 打赏
  • 举报
回复
windows 下的测试没有任何问题。

mysql> delimiter //
mysql> create procedure proc()
-> begin
-> declare var integer(15);
-> end
-> //
Query OK, 0 rows affected (0.34 sec)

mysql> select version()//
+----------------------+
| version() |
+----------------------+
| 5.1.33-community-log |
+----------------------+
1 row in set (0.05 sec)

mysql>
wwwwb 2009-10-21
  • 打赏
  • 举报
回复
不会吧,5。X支持SP

DELIMITER $$
CREATE PROCEDURE proc()
BEGIN
DECLARE var INTEGER(15);

END$$

DELIMITER ;
【有功-无功协调优化】基于改进多目标粒子群优化算法(小生境粒子群算法)的配电网有功-无功协调优化研究(Matlab代码实现)内容概要:本文围绕“基于改进多目标粒子群优化算法(小生境粒子群算法)的配电网有功-无功协调优化研究”展开,重点介绍了利用小生境粒子群算法对配电网中的有功与无功功率进行协调优化的方法。研究结合Matlab代码实现,旨在降低网络损耗、提升电压质量,并增强配电网运行的经济性与稳定性。文中详细阐述了改进多目标粒子群算法的设计思路,包括引入小生境机制以增强种群多样性、避免早熟收敛,同时构建了综合考虑有功出力调节、无功补偿装置投切及分布式电源协同控制的优化模型。通过在标准测试系统(如IEEE33节点系统)上的仿真验证,展示了该方法在多目标优化中的有效性与实用性。; 适合人群:具备电力系统基础知识和Matlab编程能力,从事电力系统优化、智能算法应用及相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于含分布式电源的主动配电网运行优化;②解决多目标环境下有功与无功资源的协同调度问题;③为配电网节能降损、电压调控提供算法支持与仿真验证手段; 阅读建议:建议结合提供的Matlab代码进行仿真实践,重点关注算法参数设置、适应度函数设计及多目标解集的Pareto前沿分析,同时可扩展至不同网络结构与运行场景以加深理解。

57,064

社区成员

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

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