본문 바로가기

DATA 분석 교육 과정 (2024.02~08)/SQL

SQL_TCL(COMMIT,ROLLBACK ,SAVEPOINT), DCL(GRANT,REVOKE, ROLE)

728x90

1. TCL

  -  트랜잭션은 어떤 업무를 수행하기 위한 일련의 단계를 의미

  1) COMMIT :  데이터를 영구 저장

   -  AUTO COMMIT : 오라클에서 DML (INSERT , UPDATE , DELETE )는  직접 COMMIT  입력해야 함.

                                 DDL ( CREATE , ALTER , DROP 등)은 자동으로 COMMIT 적용 됨

  2) ROLLBACK : 데이터 전단계 수정

  3) SAVEPOINT - 특정 지점까지만 수정

 

 [예시 1] 아래 쿼리를 순서대로 실행했을때 TAB3 테이블에는 총 몇개의 행이 있을까"

  답: A,B,D 행 / 총 3개 행

 

 [예시 2] 아래 쿼리를 순서대로 실행했을 때, TAB4 테이블에는 총 몇 개의 행이 있을까?

  답: A,B,C,E 행/ 4개 행

 

   

2. DCL : 객체에 권한을 부여한다.

   1) GRANT 권한부여를 할 때 :

      -  SQL COMMAND LINE 에서 // 계정 생성 후

       GRANT CREATE SESSION TO 계정이름  입력

      -  DCLTEST 계정에서 NTHNEW 계정이 가지고 있는 TB_PRD 테이블을 SELECT , UPDATE 할 권한을 부여합니다. (특정 테이블에 권한 부여시 ON 추가 사용 )

      :  GRANT SELECT, UPDATD ON NTHNEW.TB_PRD TO계정이름  입력

   

2) REVOKE : 권한 회수를 할 때

       - DCLTEST 계정으로부터 NTHNEW 계정이 가지고 있는 TB_PRD 테이블을 SELECT , UPDATE 할 권한을 다시 회수합니다. (특정 테이블에 권한 부여시 ON 추가 사용 )

       : REVOKE  SELECT, UPDATD ON NTHNEW.TB_PRD FROM 계정이름

 

   3) ROLE : 여러 권한을 한번에 부여할때 

      - 대표적인 ROLE : CONNECT , RESOURCE 등

      - GRANT CONNECT , RESOURCE  TO 계정이름  입력

728x90
반응형