想在存储过程里面读取错误号和错误信息,放到变量里面,用什么函数??找了半天也没找到,SHOW ERRORS只能看,不能放到变量里面。
解决方案 »
- 这个存储过程到底哪里错啦?
- mysql数据库单表有100万+数据,查询超慢,如何优化呢?
- php插入MYSQL,中文乱码问题!在线求解!
- 相同数据显示3条(给点思路就好)
- linux环境下,mysql-dba常用的维护命令
- 請問該如何找出相似度最高的標籤
- 问一sql语句问题
- 送分:求一个简单的查询语句
- MySQL用的人很多,跟MS Access2000相比,性能与优缺点的差别怎样?
- :请问谁有通过客户端来修改远程数据库的例子,或建议~~,谢谢,数据库最好是:mysql的,谢谢(up者谢谢,有分)
- 为什么服务器上发布的网站连接本地数据库不能使用“server=127.0.0.1”。asp.net网站,mysql数据库。
- 我在FreeBSD下安装的mysql启动不了
存储过程的异常处理。
create procedure P1()
begin
declare exit HANDLER FOR SQLSTATE '23000' insert into Error(Error_ID,Error_SQLSTATE,Error_Describe,Error_time) values(1062,'23000','键%d的重复条目',now());
declare exit HANDLER FOR SQLSTATE '21S01' insert into Error(Error_ID,Error_SQLSTATE,Error_Describe,Error_time) values(1136,'21S01','列计数不匹配行%ld上的值计数',now());
rollback;
start transaction;
insert into ta values(6,'张三',now());
insert into ta values(7,'李四',now());
commit;
end;这个不错,问题是错误是未知的,我不能把所有的错误都列出来. 有好办法么?类似SQL Server里面的 select @msg =ERROR_MESSAGE() 。
没有这东西。你枚举出常见的错误就差不多了。
谢谢,我刚开始玩mysql,不熟啊。。Mysql是不是不常用存储过程,我一同事以前用mysql的,居然不会写存储过程。。
存储过程在MYSQL里面,也是5以后才有的好像。
你或者可以改写MYSQL的源代码以添加这个功能。或者直接在C或者其它程序中写代码,可以得到错误返回值。