oracle不用显式开始事务的 要回滚create or replace procedure pro_testa as begin savepoint mystart;---start save point insert into tabela(id,name) values(1,'OK'); commit; <-----提交 exception when others then rollback to mystart; <--------如果出错则回滚 to mystart. endhttp://community.csdn.net/Expert/topic/3266/3266508.xml?temp=.5533258http://community.csdn.net/Expert/topic/3436/3436826.xml?temp=.569317
set transaction read only //事务开始 (这样是只让一个事务'只读'或者你可以写成'只写') 你可以在这个地方写过程或者游标等等...commit//事务的提交或者叫完成。 rollback//事务的回滚或者叫撤消。 当一个事务一开始后,如果不遇到这两句话,那么就一直是个事务集.
BEGIN
INSERT INTO...
...
COMMIT;
Exception
WHEN OTHERS THEN
ROLLBACK;
END;
或rollback语句执行,所有语句都属于一个事务, commit或rollback语句执行后,如果
还有sql执行,就又开始了一个 事务。
要回滚create or replace procedure pro_testa as
begin
savepoint mystart;---start save point
insert into tabela(id,name) values(1,'OK');
commit; <-----提交
exception
when others then
rollback to mystart; <--------如果出错则回滚 to mystart.
endhttp://community.csdn.net/Expert/topic/3266/3266508.xml?temp=.5533258http://community.csdn.net/Expert/topic/3436/3436826.xml?temp=.569317
你可以在这个地方写过程或者游标等等...commit//事务的提交或者叫完成。
rollback//事务的回滚或者叫撤消。
当一个事务一开始后,如果不遇到这两句话,那么就一直是个事务集.