[SQLD] #14. SQL 활용 - DCL, 절차형 SQL

김정인·2021년 3월 12일
0

SQLD

목록 보기
14/16

DCL (DATA CONTROL LANGUAGE)

💡 DCL이란?

    유저를 생성하고 권한을 제어할 수 있는 명령어

  • GRANT: 권한 부여
GRANT 권한 ON 오브젝트 TO 유저명;
  • REVOKE: 권한 제거
REVOKE 권한 ON 오브젝트 TO 유저명;

💡 권한(Privileges)

  • SELECT, INSERT, UPDATE, DELETE, ALTER, ALL : DML 관련 권한
  • REFERENCES : 지정된 테이블을 참조하는 제약조건을 생성하는 권한
  • INDEX : 지정된 테이블에서 인덱스를 생성하는 권한

💡 ROLE을 이용한 권한 부여


   ROLE은 유저들과 권한들 사이에서 중개 역할을 함

  • 데이터베이스 관리자는 ROLE을 생성하고, ROLE에 각종 권한들을 부여한 후, ROLE을 다른 ROLE이나 유저에게 부여
  • ROLE에 포함되어 있는 권한들이 필요한 유저에게는 해당 ROLE만을 부여함으로써 빠르고 정확하게 필요한 권한을 부여

절차형 SQL

💡 절차형 SQL이란?

    SQL에도 절차 지향적인 프로그램이 가능하도록 DBMS 벤더별로 PL(Procedural Language)/SQL(Oracle), SQL/PL(DB2), T-SQL(SQL Server) 등의 절차형 SQL을 제공하고 있음. 절차형 SQL을 이용하면 SQL문의 연속적인 실행이나 조건에 따른 분기처리를 이용하여 특정 기능을 수행하는 저장 모듈을 생성 가능

💡 PL/SQL


   블록 구조로 이루어져 블록 내에 DML, 쿼리, IF나 LOOP 등을 사용할 수 있음

  • Declare(선언부): 블록에서 사용할 변수나 인수에 대한 정의
  • Begin(실행부): 처리할 SQL문 정의
  • Exception(예외 처리부): 블록에서 발생한 에러 처리 로직 정의, 유일한 선택 항목

💡 T-SQL

    근본적으로 SQL Server를 제어하기 위한 언어로서, T-SQL은 엄격히 말하면, MS사에서 ANSI/ISO 표준의 SQL에 약간의 기능을 더 추가해 보완적으로 만든 것

💡 트리거 Trigger

    특정한 테이블에 INSERT, UPDATE, DELETE와 같은 DML문이 수행되었을 때, DB에서 자동으로 동작하도록 작성된 프로그램, 사용자 호출이 아닌 DB 자동 수행

프로시저트리거
CREATE Procedure 문법 사용CREATE Trigger 문법 사용
EXECUTE 명령어로 실행생성 후 자동으로 실행
COMMIT, ROLLBACK 실행 가능COMMIT, ROLLBACK 실행 안됨

0개의 댓글

관련 채용 정보