欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【MySQL存储过程SAVEPOINT ROLLBACK to】,下面是详细的分享!
MySQL存储过程SAVEPOINT ROLLBACK to
DELIMITER $$
DROP PROCEDURE IF EXISTS `test`.`handlerdemo`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `handlerdemo`()
BEGIN
DECLARE X2 INT;
DECLARE CONTINUE HANDLER FOR SQLWARNING SET X2=1;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET X2=2;
DECLARE CONTINUE HANDLER FOR SQLSTATE '23000' SET X2=3;
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET X2=4;
START TRANSACTION;
SAVEPOINT savepoint_1;
BEGIN
INSERT INTO eugene VALUES (1);
INSERT INTO eugene VALUES (2);
SELECT X2;
end;
ROLLBACK TO SAVEPOINT savepoint_1;
iNSERT INTO eugene VALUES (3);
END$$
DELIMITER ;
#测试表
CREATE TABLE `eugene` (
t1` int(4) default NULL
)
以上所分享的是关于MySQL存储过程SAVEPOINT ROLLBACK to,下面是编辑为你推荐的有价值的用户互动:
相关问题:sql server 存储过程
答:我也遇到过类似的问题,就是执行存储过程第一次不报错、但是很慢、第二次打开这个存储过程执行的时候就会报错,那是换行引起的,一般在sqlserver2000里面发现! >>详细
相关问题:这个存储过程的优先级是什么
答:顺序执行,如果在commit之前断电会回滚,或者在commit之前如果报错了也会回滚。只要发生了commit就不会回滚 >>详细
相关问题:sql server 存储过程 改成oracle怎么写?
答:两者的存储过程语法,大致应该是相同的,你修改的话,只需要将这个存储过程中SQL Server独有的语法改成适用Oracle的就行了。 存储过程N久没用了,所以没办法告诉你详细的修改方案,你自己处理一下吧 >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
