存储过程输出问题

Vosky 2013-11-06 09:57:36
以下是我的存储过程中的代码,实现功能很简单,就是显示4个变量


CRATE PROCEDURE PROC5(OUT A INT,OUT B INT)
BEGIN
DECLARE C INT;
DECLARE D INT;
SET A = (SELECT COUNT(ROOMCODE) FROM ROOM AS R,ROOMCLASS AS RC WHERE R.CLASSNO=RC.CLASSNO and CLASS='单人间');
SET B = (SELECT COUNT(ROOMCODE) FROM ROOM AS R,ROOMCLASS AS RC WHERE R.CLASSNO=RC.CLASSNO and CLASS='单人间' AND STATE='r');
SET C=(SELECT COUNT(ROOMCODE) FROM ROOM AS R,ROOMCLASS AS RC WHERE R.CLASSNO=RC.CLASSNO and CLASS='单人间' AND STATE='l');
SET D=(SELECT COUNT(ROOMCODE) FROM ROOM AS R,ROOMCLASS AS RC WHERE R.CLASSNO=RC.CLASSNO and CLASS='单人间' AND STATE='o');
SELECT A Z,B R,C L,D O;
END


用navicat运行结果正确


但是在mysql环境下运行,得不到正确结果,不管是我的OUT变量还是过程中定义的变量都没有设置成正确的值,为什么?
...全文
89 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Vosky 2013-11-07
  • 打赏
  • 举报
回复
引用 1 楼 ACMAIN_CHM 的回复:
检查字符集设置。 尝试先 set names 'gbk'; 后试一下。 http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx MySQL 中文显示乱码
解决了,我在mysql重新写的过程函数可以运行,可能是字符集的问题~~谢谢
Vosky 2013-11-06
  • 打赏
  • 举报
回复
引用 1 楼 ACMAIN_CHM 的回复:
检查字符集设置。 尝试先 set names 'gbk'; 后试一下。 http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx MySQL 中文显示乱码
但是我的mysql中单独用存储过程中的每一个执行 都是没有问题的,可以得到正确结果,但是就是调用存储过程 就是全0
ACMAIN_CHM 2013-11-06
  • 打赏
  • 举报
回复
检查字符集设置。 尝试先 set names 'gbk'; 后试一下。 http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx MySQL 中文显示乱码

56,677

社区成员

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

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