ROLLBACK TO

Name

ROLLBACK TO SAVEPOINT -- �ع���һ�������

Synopsis

ROLLBACK [ WORK | TRANSACTION ] TO [ SAVEPOINT ] savepoint_name

����

�ع�����ָ������㽨��֮��ִ�е�����������Ȼ��Ч��������Ҫʱ�����ٴλع����õ㡣

ROLLBACK TO SAVEPOINT ������ɾ�������ڸ����������֮�����ı���㡣

����

savepoint_name

�ع������ı���㡣

ע��

ʹ�� RELEASE SAVEPOINT ɾ��һ������㣬 �����������������㽨��֮��ִ�е���������

����һ����û�н����ı����������һ������

�ڱ���㷽�棬�α���һЩ�������Ե���Ϊ���κ��ڱ������򿪵��α겻���ڻع�����������֮��رա� ���һ���α��ڱ�������棬�����α걻һ�� FETCH ����Ӱ�죬 �����������Ժ�ع��ˣ���ô����α��λ����Ȼ�� FETCH ����ָ���λ�� ��Ҳ���ǣ�FETCH ���ᱻ�ع����� ���һ���α�IJ�����������ع�����ô����α�ͻ����ڲ���ִ��״̬�� ���ԣ�����һ����������� ROLLBACK TO SAVEPOINT ���»ָ��������α겻����ʹ���ˡ�

����

���� my_savepoint ����֮��ִ�е������Ӱ�죺

ROLLBACK TO SAVEPOINT my_savepoint;

�α�λ�ò��ܱ����ع���Ӱ�죺

BEGIN;

DECLARE foo CURSOR FOR SELECT 1 UNION SELECT 2;

SAVEPOINT foo;

FETCH 1 FROM foo;
 ?column? 
----------
        1

ROLLBACK TO SAVEPOINT foo;

FETCH 1 FROM foo;
 ?column? 
----------
        2

COMMIT;

������

SQL:2003 ��׼�����ؼ��� SAVEPOINT �DZ���ġ� PostgreSQL �� Oracle ����ʡ�� SAVEPOINT �ؼ��֡� SQL:2003 ֻ���� WORK�������� TRANSACTION ��Ϊ ROLLBACK ������������֡� ���У�SQL:2003 ��һ����ѡ���Ӿ� AND [ NO ] CHAIN�� Ŀǰ PostgreSQL ����֧�֡��������������ȫ���� SQL ��׼��

�ּ�

BEGIN, COMMIT, RELEASE SAVEPOINT, ROLLBACK, SAVEPOINT