drop table if exists t2;
drop table if exists t3;
drop table if exists error_log;
create table t2
(
s1 int, primary key (s1)
)
engine=innodb;
create table t3
(
s1 int, key (s1),
foreign key (s1) references t2 (s1)
)
engine=innodb;
create table error_log
(
error_message char(80)
);
delete from t2;
delete from t3;
delete from error_log;
drop procedure if exists p22;
delimiter //
create procedure p22 (parameter1 int)
begin
declare exit handler for 1452
insert into error_log values
(concat('time: ',current_date,'. foreign key reference failure for value = ',parameter1));
insert into t3 values (parameter1);
end;//
delimiter ;
call p22(5);
select * from t2;
select * from t3;
select * from error_log;
/*
mysql> select * from t2;
Empty set (0.00 sec)
mysql> select * from t3;
Empty set (0.00 sec)
mysql> select * from error_log;
+---------------------------------------------------------------+
| error_message |
+---------------------------------------------------------------+
| time: 2012-08-20. foreign key reference failure for value = 5 |
+---------------------------------------------------------------+
1 row in set (0.00 sec)
*/
存储过程:异常处理exit
最新推荐文章于 2024-03-26 23:40:19 发布