ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [ SQL ] 패키지 선언
    Database/SQL (oracle, mysql) 2019. 6. 4. 14:34

    패키지 - 동일한 프로시저명 또는 함수명을 구분한다 (NameSpace개념)

     

    패키지 선언!

    CREATE OR REPLACE PACKAGE 패키지명

    IS

    정의될 저장프로시저와 저장함수

    END;

    /

    패키지 실행! BODY

    CREATE OR REPLACE PACKAGE BODY 패키지명

    IS

      정의될 저장 프뢰시저와 저장함수

    END;

    /

    실행) EXEC 패키지명.저장프로시저명


    트리거 trigger - 이벤트 처리

     ~ 했을때 수반되는 처리

     - 특정테이블에 이벤트(insert, delete, update)가 발생 했을 시

       다른테이블에 연관된 내용을 변경하도록 하는일을 의미한다.

    형식)

         CREATE OR REPLACE TRIGGER 트리거명 

         ( BEFORE | AFTER ) (INSERT | DELETE | UPDATE)  -- 이벤트 (사건발생)

         ON 테이블명  -- 이벤트가 발생하는 테이블

          (만약 INSERT가 일어난다면 그때부터 주시)

         [FOR EACH ROW] -- 실행될 문장 행에 각각 적용

         [WHEN 조건식]

         BEGIN

           -- 이벤트 발생시 실행할 문장 DML문장 -- 이벤트 처리부

         END;

     

    바인드 변수 - 매개변수, 전달번수 pl/sql에서는 변수명 앞에 ':'을 붙여서 사용한다.

            :new - insert, update된 데이터

            :old  - 기존데이터 (이미 저장되어 있는)

         --> begin ~end에서 사용법) :new.컬럼명     :old.컬럼명

                                                   --values (데이터) set 컬럼명 = 데이터  

     

     

     

    반응형

    'Database > SQL (oracle, mysql)' 카테고리의 다른 글

    [SQL] Level, max(lavel) 사용법, SQLD문제  (0) 2019.06.05
    [SQL] rollup과 cube  (0) 2019.06.04
    [SQL] PL/ SQL  (0) 2019.05.31
    [SQL] SEQUENCE 시퀀스  (0) 2019.05.31
    [SQL] VIEW 란?  (0) 2019.05.31

    댓글

Designed by Tistory.