存储过程的问题。在线等。

只是_曾经 2013-01-31 11:07:15
本人菜鸟。请教大家个问题。
存储过程中用 select max(xxx) as id from table; 结果集没数据呢。
sql语句直接执行是有数据的。请赐教。

下面是代码。

DROP PROCEDURE IF EXISTS tripdatatest.pr_InsertTravelss;
CREATE PROCEDURE tripdatatest.`pr_InsertTravelss`(

)
BEGIN
DECLARE i INT DEFAULT 0;
DECLARE travelsID INT DEFAULT 0;
declare err int default 0;
declare continue handler for sqlexception set err = 1;

start transaction;

select max(TravelsID) as id from t_travelsinfo;

if err = 0 then
commit;
else
rollback;
end if;

END;


...全文
65 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
只是_曾经 2013-01-31
  • 打赏
  • 举报
回复
引用 4 楼 deathoctopus 的回复:
先把这个去掉试试,declare continue handler for sqlexception set err = 1; 先能正确的执行,再做错误处理的语句
犯了低级错误。 DECLARE travelsID INT DEFAULT 0; 中的travelsID 被mysql认为是 TravelsID ,和字段名冲突。mysql不区分大小写。
deathoctopus 2013-01-31
  • 打赏
  • 举报
回复
先把这个去掉试试,declare continue handler for sqlexception set err = 1; 先能正确的执行,再做错误处理的语句
只是_曾经 2013-01-31
  • 打赏
  • 举报
回复
引用 1 楼 wwwwb 的回复:
你怎么判断 结果集没数据?
在MYSQL中运行,结果如何?

只是_曾经 2013-01-31
  • 打赏
  • 举报
回复
引用 1 楼 wwwwb 的回复:
你怎么判断 结果集没数据?
在MYSQL中运行,结果如何?

在toad中执行存储过程。
wwwwb 2013-01-31
  • 打赏
  • 举报
回复
你怎么判断 结果集没数据?
在MYSQL中运行,结果如何?

56,679

社区成员

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

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