Loading [MathJax]/jax/output/HTML-CSS/config.js

Ch8_01 절차형 SQL 작성하기

Study/정보처리기사 2020. 10. 17. 18:14

1. 프로시저

 

1. 절차형 SQL을 활용해 특정 기능을 수행할 수 있는 트랜잭션 언어

 

2. 프로시저 구성

  A. 선언부 (DECLARE) : 프로시저 명칭, 변수, 인수, 데이터 타입 정의

  B. 시작/종료부 (BGIN/END) : 프로시저의 시작, 종료

  C. 제어부 (CONTROL)

  D. SQL : 주로 DML

  E. 예외부 (EXCEPTION)

  F. 실행부 (TRANSACTION)

 

3. 프로시저 구성 상세

  A. 선언부 (DELCARE)

    i. CREATE [OR REPLACE] PROCEDURE 프로시저명파리미터명 [MODE] 데이터타입IS변수 선언

  B. 시작/종료부 : 프로시저의 시작과 종료 : BEGIN / End

  C. 제어부

    i. 조건문

      1. IF 조건 THEN 문장;ELSIF 조건 THEN 문장;ELSE 문장;END IF;

      2. 간단한 CASE

        A. CASE 변수 WHEN 1 THEN SET 명령어; WHEN 2 THEN SET 명렁어; ELSE SET 명렁어;END CASE;

    ii. 반복문

      1. LOOP

        A. LOOP 문장; EXIT WHEN 탈출조건;END LOOP;

      2. WHILE

        A. WHILE 반복 조건 LOOP 문장; EXIT WHEN 탈출조건;END LOOP;

      3. FOR LOOP

        A. FOR 인덱스 IN 시작 값.. 종료 값 LOOP 문장;END LOOP;

      4. 프로시저 SQL

        A. SELECT

        B. INSERT

        C. UPDATE

        D. DELETE

      5. 예외부

        A. EXCEPTION WHEN 조건 THEN SET 명령어;

      6. 실행부

        A. COMMIT

        B. ROLLBACK

 

4. 프로시저 호출문 작성

  A. SQL> EXECUTE 프로시저명 (파라미터1, 파라미터2, );

 

5. 프로시저 예시

 

2. 사용자 정의 함수

 

1. 사용자 정의함수 개념

  A. 절차형 SQL을 활용하여 SQL 처리 수행, 수행 결과를 단일 값으로 반환할 수 있는 절차형 SQL

 

2. 사용자 정의 함수 구성

  A. 선언부

  B. 시작/종료부

  C. 제어부

  D. SQL

  E. 예외부

  F. 반환부

 

3. 사용자 정의 함수 구문

 

4. 선언부 정의 함수 호출문 작성

  A. SQL> 함수명 (파라미터1, 파라미터2)

 

3. 트리거

 

1. 트리거의 개념 : 특정 테이블에 삽입, 수정, 삭제 등의 데이터 변경 이벤트가 발생하면 DBMS에서 자동적으로 실행되도록 구현한 프로그램

 

2. 트리거의 목적 : 특정 테이블에 대한 데이터 변경을 시작점으로 설정, 그와 관련된 작업을 자동적으로 수행하기 위해 트리거 사용, DBMS 자동화

 

3. 트리거의 종류

  A. 행 트리거 : 데이터 변화가 생길 때마다 실행

  B. 문장 트리거 : 트리거에 의해 단 한 번 실행

 

4. 트리거의 구성

  A. 프로시저나 사용자 정의함수와 기본적 문법은 같음

  B. 반환 값이 없음

  C. EVENT 명령어를 통해 트리거 실행, 외부변수 IN/OUT이 없음

  D. 선언부 이벤트부 시작/종료부 제어부 SQL 예외부

 

5. 트리거의 구문

  A. 선언부

  B. 이벤트부

  i. 트리거 이벤트 순서

    1. BEFORE

    2. AFTER

  ii. 트리거 이벤트 유형

    1. INSERT

    2. UPDATE

    3. DELETE

  C. 시작/종료부

  D. 제어부

  E. SQL

  F. 예외부

 

6. 트리거 작성 시 주의사항

  A. TCL 사용 불가

  B. 오류 주의

TOP