프린트 하기

OS환경 : Oracle Linux 7.6 (64bit)

 

DB 환경 : Oracle Database 19.3.0.0

 

방법 : 오라클 19c sqlplus 에서의 rollback 커맨드

테스트 하다 발견한 쓸모없는 내용이지만 신기해서 글을 작성함
dml 명령의 롤백을 위해 rollback; 커맨드를 입력하다 오타를 쳐서 roll back;로 했는데도 수행이 되는것을 발견함
그래서 여러가지 경우의 수로 rollback;이는 글자를 띄워서 수행해봄

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
SQL>
r ollback; 수행결과: SP2-0103: Nothing in SQL buffer to run.
ro llback; 수행결과: SP2-0042: unknown command "ro llback" - rest of line ignored.
rol lback; 수행결과: SP2-0042: unknown command "rol lback" - rest of line ignored.
roll back; 수행결과: Rollback complete.
rollb ack; 수행결과: Rollback complete.
rollba ck; 수행결과: Rollback complete.
rollbac k; 수행결과: Rollback complete.
r o ll back; 수행결과: SP2-0103: Nothing in SQL buffer to run.
ro l l back; 수행결과: SP2-0734: unknown command beginning "ro l l bac..." - rest of line ignored.
rol l back; 수행결과: SP2-0042: unknown command "rol l back" - rest of line ignored.
roll b ack; 수행결과: Rollback complete.
rollb a ck; 수행결과: Rollback complete.
rollba c k; 수행결과: Rollback complete.
r oll b ack; 수행결과: SP2-0103: Nothing in SQL buffer to run.
ro ll b ack; 수행결과: SP2-0734: unknown command beginning "ro ll b ac..." - rest of line ignored.
rol l b ack; 수행결과: SP2-0042: unknown command "rol l back" - rest of line ignored.
roll b ack; 수행결과: Rollback complete.
r o llba ck; 수행결과: SP2-0042: unknown command "ro llba ck" - rest of line ignored.
ro llba ck; 수행결과: SP2-0042: unknown command "ro llba ck" - rest of line ignored.
rol lba ck; 수행결과: SP2-0042: unknown command "rol lba ck" - rest of line ignored.
roll ba ck; 수행결과: Rollback complete.
r ollbac k; 수행결과: SP2-0042: unknown command "ro llbac k" - rest of line ignored.
ro llbac k; 수행결과: SP2-0042: unknown command "ro llbac k" - rest of line ignored.
rol lbac k; 수행결과: SP2-0042: unknown command "rol lbac k" - rest of line ignored.
roll bac k; 수행결과: Rollback complete.
r o llba c k; 수행결과: SP2-0734: unknown command beginning "ro llba c ..." - rest of line ignored.
ro llba c k; 수행결과: SP2-0734: unknown command beginning "ro llba c ..." - rest of line ignored.
rol lba c k; 수행결과: SP2-0734: unknown command beginning "rol lba c ..." - rest of line ignored.
roll ba c k; 수행결과: Rollback complete.
r ollbac k; 수행결과: SP2-0042: unknown command "ro llbac k" - rest of line ignored.
ro llbac k; 수행결과: SP2-0042: unknown command "ro llbac k" - rest of line ignored.
rol lbac k; 수행결과: SP2-0042: unknown command "rol lbac k" - rest of line ignored.
roll bac k; 수행결과: Rollback complete.
r ollback; 수행결과: SP2-0103: Nothing in SQL buffer to run.
ro llback; 수행결과: SP2-0042: unknown command "ro llback" - rest of line ignored.
rol lback; 수행결과: SP2-0042: unknown command "rol lback" - rest of line ignored.
roll back; 수행결과: Rollback complete.
rollb ack; 수행결과: Rollback complete.
rollba ck; 수행결과: Rollback complete.
rollbac k; 수행결과: Rollback complete.

 

 

롤백이 성공한 커맨드 리스트

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
SQL>
roll back;
rollb ack;
rollba ck;
rollbac k;
roll b ack;
rollb a ck;
rollba c k;
roll b ack;
roll ba ck;
roll bac k;
roll ba c k;
roll bac k;
roll back;
rollb ack;
rollba ck;
rollbac k;

 

 

참고로 rollback 뒤에 ;(세미콜론)을 넣어야하는데 rollback 명령과 ; 사이에 공백을 아무리 많이 넣어도 명령이 수행됨

1
2
3
4
5
6
7
SQL> rollback ;
 
Rollback complete.
 
SQL> rollback                            ;
 
Rollback complete.

 

 

참조 :