-
[ 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