ROLLBACK - Amazon Redshift

ROLLBACK

현재 트랜잭션을 중지하고 그 트랜잭션에서 이루어진 모든 업데이트를 삭제합니다.

이 명령은 ABORT 명령과 똑같은 기능을 수행합니다.

구문

ROLLBACK [ WORK | TRANSACTION ]

파라미터

Work

선택적 키워드입니다. 이 키워드는 저장 프로시저 내에서 지원되지 않습니다.

TRANSACTION

선택적 키워드입니다. WORK와 TRANSACTION은 동의어입니다. 둘 다 저장 프로시저 내에서 지원되지 않습니다.

저장 프로시저 내의 ROLLBACK 사용에 대한 자세한 내용은 트랜잭션 관리를 참조하십시오.

다음 예에서는 테이블을 생성한 다음에 데이터가 테이블에 삽입되는 트랜잭션을 시작합니다. 그런 다음 ROLLBACK 명령으로 데이터 삽입을 롤백하여 테이블이 비어 있는 상태로 둡니다.

다음 명령을 실행하면 MOVIE_GROSS라는 예 테이블이 생성됩니다.

create table movie_gross( name varchar(30), gross bigint );

다음 명령 세트는 테이블에 2개의 데이터 행을 삽입하는 트랜잭션을 시작합니다.

begin; insert into movie_gross values ( 'Raiders of the Lost Ark', 23400000); insert into movie_gross values ( 'Star Wars', 10000000 );

다음으로, 아래 명령을 실행하면 데이터가 올바로 삽입되었음을 보여주기 위해 테이블에서 해당 데이터가 선택됩니다.

select * from movie_gross;

명령 출력에는 두 행 모두 올바로 삽입된 것으로 표시됩니다.

name | gross -------------------------+---------- Raiders of the Lost Ark | 23400000 Star Wars | 10000000 (2 rows)

이제는 다음 명령으로 트랜잭션이 시작된 지점으로 데이터 변경 내용을 롤백합니다.

rollback;

테이블에서 데이터를 선택하면 빈 테이블이 표시됩니다.

select * from movie_gross; name | gross ------+------- (0 rows)