56,678
社区成员
发帖
与我相关
我的任务
分享
create table tablename (id int,RQ1 datetime,RQ2 datetime)
-- select * from tablename
insert into tablename
select 1,'2009-01-01 10:00:00','2009-01-02 11:00:00' union
select 2,'2009-01-02 10:00:00','2009-01-04 10:30:00' union
select 3,'2009-01-03 10:00:00','2009-01-06 11:30:00'
create PROCEDURE a(ia int )
begin
start TRANSACTION;
insert into tablename values(ia+1,'2009-01-01 10:00:00','2009-01-02 11:00:00');
insert into tablename values(ia+2,'2009-01-01 10:00:00','2009-01-02 11:00:00');
insert into tablename values(ia,'2009-01-01 10:00:00','2009-01-02 11:00:00');
-- ROLLBACK;
COMMIT ;
end
create PROCEDURE a(ia int )
begin
declare exit handler for sqlexception rollback;
start TRANSACTION;
insert into tablename values(ia+1,'2009-01-01 10:00:00','2009-01-02 11:00:00');
insert into tablename values(ia+2,'2009-01-01 10:00:00','2009-01-02 11:00:00');
insert into tablename values(ia,'2009-01-01 10:00:00','2009-01-02 11:00:00');
-- ROLLBACK;
COMMIT ;
end
红色部分,只要出现SQL错误,自动回滚。