MYSQL implements only part of the commit transaction by SavePoint.
Step 1:savepoint savepoint_name; , make a mark
Step 2:rollbak to SavePoint savepoint_name; rollback to Mark Point
SETP 3:release savepoint savepoint_name; de-tagging
----------------------------------------------------------------------------------------
Example:
CREATE TABLE T (X int,y int); # definition Table
-------------------
Delimiter//
CREATE Procedure Proc_for_t_insert () # The stored procedure in MySQL must have () regardless of the parameters, the stored procedure without parameters in SQL Server must not be used ();
Begin
INSERT into T (x, y) values (n);
SavePoint savepoint_1; #step: 1, marking
INSERT into T (x, Y) VALUES (2,2);
Rollback to SavePoint savepoint_1; #step: 2, rollback to Mark Point
Release SavePoint savepoint_1 #step: 3, de-tagging
End//
delimiter;
Call Proc_for_t_insert;
SELECT * from T;
MYSQL Partial transaction