7절 DCL
DCL: 유저를 생성하거나 권한을 제어하는 명령어, 보안을 위해 필요함
⦁ GRANT: 권한 부여
GRANT 권한 ON 오브젝트 TO 유저명;
⦁ REVOKE: 권한 제거
REVOKE 권한 ON 오브젝트 TO 유저명;
권한(Privileges)
⦁ SELECT, INSERT, UPDATE, DELETE, ALTER, ALL : DML 관련 권한
⦁ REFERENCES : 지정된 테이블을 참조하는 제약조건을 생성하는 권한
⦁ INDEX : 지정된 테이블에서 인덱스를 생성하는 권한
Oracle의 유저
⦁ SCOTT: 테스트용 샘플 유저
⦁ SYS: DBA 권한이 부여된 최상위 유저
⦁ SYSTEM: DB의 모든 시스템 권한이 부여된 DBA
ROLE: 권한의 집합, 권한을 일일이 부여하지 않고 ROLE로 편리하게 여러 권한을 부여할 수 있음
Oracle의 ROLE
ROLE | 권한 | |
CONNECT | CREATE SESSION | |
RESOURCE | CREATE CLUSTER CREATE PROCEDURE CREATE TYPE CREATE SEQUENCE |
CREATE TRIGGER CREATE OPERATOR CREATE TABLE CREATE INDEXTYPE |
8절 절차형 SQL
절차형 SQL: 일반적인 개발언어처럼 절차지향적인 프로그램을 작성할 수 있도록 제공하는 기능
⦁ SQL문의 연속적인 실행 및 조건에 따른 분기처리를 이용하여 특정 기능을 수행하는 저장 모듈 생성 가능
⦁ PL/SQL (Oracle)
- 블록 구조: 블록 내에 1) DML 2) 쿼리 3) IF나 LOOP 등을 사용할 수 있음
⦁ Declare(선언부): 블록에서 사용할 변수나 인수에 대한 정의
⦁ Begin(실행부): 처리할 SQL문 정의
⦁ Exception(예외 처리부): 블록에서 발생한 에러 처리 로직 정의, 유일한 선택 항목
⦁ T-SQL (SQL Server)
프로시저(Procedure)
사용자 정의 함수: 절차형 SQL을 로직과 함께 DB 내에 저장해 놓은 명령문 집합, RETURN을 통해 반드시 하나의 값 반환 (↔ 프로시저)
트리거(Trigger): DML문이 수행되었을 때 자동으로 동작하는 프로그램 (↔ 프로시저는 EXECUTE로 실행함), DCL와 TCL 실행 불가 (↔ 프로시저는 사용 가능함)
'Structured Query Language > SQLD' 카테고리의 다른 글
SQLD_2과목_3장 SQL 최적화 기본 원리_1절 옵티마이저와 실행계획, 2절 인덱스 기본, 3절 조인 수행 원리 (0) | 2023.05.30 |
---|---|
SQLD_2과목_2장 SQL 활용_4절 서브쿼리, 5절 그룹 함수, 6절 윈도우 함수 (0) | 2023.05.30 |
SQLD_2과목_2장 SQL 활용_1절 표준조인, 2절 집합 연산자, 3절 계층형 질의와 셀프 조인 (0) | 2023.05.30 |
SQLD_2과목_1장 SQL 기본_6절 함수, 7절 GROUP BY, HAVING절, 8절 ORDER BY절, 9절 조인 (0) | 2023.05.30 |
SQLD_2과목_1장 SQL 기본_3절 DML, 4절 TCL, 5절 WHERE절 (2) | 2023.05.30 |