자격증/SQLD

SQLD(3)-SQL기본3

jhs0129 2021. 8. 12. 12:17
320x100
반응형
  • ROWNUM, ROWID

ROWNUM - 논리적인 일련번호 부여, 조회할 행이 많을경우 사용

                페이지 단위 출력을 위해서는 인라인 뷰(FROM절에 사용되는 서브쿼리) 사용

 

*오라클에서는 rownum을 사용하지만 SQLSERVER는 TOP을 MySQL은 LIMIT을 사용

 

ROWID - 데이터베이스 내에서 데이터를 구분할 수 있는 유일한 값, 데이터 입력하면 자동 생성되는 값

             어떤 데이터 파일에 어떤 블록에 저장되어 있는지 알수 있음

 

  • WITH구문

임시테이블이나 뷰처럼 사용할수 있는 구문

WITH NAME AS ( SELECT FROM WHERE )

 

  • DCL
  • 권한 부여 - GRANT

* GRANT 권한 ON TABLE_NAME TO USER WITH GRANT/ADMIN OPTION

권한의 종류로는 SELECT, INSERT, UPDATE, DELETE, REFERENCES(제약조건 생성), ALTER, INDEX(인덱스 생성), ALL

한번에 여러개 부여 가능

 

OPTION - GRANT : 다른 사용자에게 권한을 줄수 있는 권한을 부여

                         A->B, B->C에게 주고 권한회수하면 전부회수

           - ADMIN : 테이블에대한 모든 권한 부여

                        A->B, B->C에게 주고 권한회수하면 B의 권한만 회수

 

  • 권한 회수 - REVOKE

REVOKE 권한 ON TABLE_NAME FROM USER

 

  • TCL
  • COMMIT

물리적인 저장소로 데이터를 반영함

COMMIT과정에는 잠시 데이터베이스 LOCK 끝나고 UNLOCK(조작 가능)됨

COMMIT실행하면 하나의 트랜젝션(INSERT, UPDATE, DELETE)과정 종료

 

*AUTO COMMIT으로 자동 실행 가능

 

  • ROLLBACK

데이터 변경을 모두 취소, 단 이전에 COMMIT한 곳까지만 복구

  • SAVEPOINT

트랜젝션을 작게 분할하여 관리

SAVEPOINT사용하면 지정된 위치 이후로만 ROLLBACK가능

 

SAVEPOINT <SAVEPOINT명>

롤백할려면 ROLLBACK TO <SAVEPOINT명>

320x100
반응형