- 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명>
'자격증 > SQLD' 카테고리의 다른 글
SQLD(5)-SQL활용2 (0) | 2021.08.13 |
---|---|
SQLD(4)-SQL활용1 (0) | 2021.08.13 |
SQLD(2)-SQL기본2 (0) | 2021.08.12 |
SQLD(3)-SQL기본1 (0) | 2021.08.11 |
SQLD(2)-데이터 모델과 성능 (0) | 2021.08.10 |