Oracle SQL 2

[Oracle] Trigger

트리거 트리거는 DB 안의 특정한 상황이나 동작, 이벤트가 발생할 때 자동으로 실행되는 기능을 정의하는 서브 프로그램입니다. 트리거의 장점으로는 먼저 데이터 관련 다양한 작업에 필요한 PL/SQL을 여러개 작성는 수고로움을 줄입니다. 또한, 제약조건만으로 부족한 복잡한 데이터 규칙이 있다면 이를 정의할 수 있습니다. 마지막으로 데이터 변경과 관련된 일련의 정보를 기록할 수 있습니다. 기록하는 점으로 인해, 공유 데이터 관련 보안성, 안전성이 확보가 되고 오류가 발생하더라도 이전 데이터 기록을 통해 대처가 가능합니다. 다만 트리거는 주로 타 데이터 추가, 변경 작업이 일어나므로 마구잡이로 사용하면 DB의 성능이 하락할 것입니다. 그래서 용도를 제한할 필요가 있으며, 테이블부터 DB 전체에 대한 DML(IN..

[Oracle] Stored Sub Program: SF

Stored Function 저장된 함수(SF)는 프로시저와 동일한 역할을 하는 서브 프로그램입니다. 프로시저와 다른 점은 프로시저는 EXEC 명령어로 단독 호출할 수 있고, 다른 PL/SQL문에서"만" 실행 가능합니다만, 함수는 EXEC 단독 호출 및 PL/SQL 구문에서뿐만 아니라 쿼리문에서도 호출이 가능합니다. 또한, 프로시저의 파라미터는 다양한 모드(MODES)로 지정하지만 함수는 오직 IN 모드로만 사용할 수 있습니다. 또한, 프로시저는 OUT, IN OUT을 통해 여러개의 값을 리턴하지만 함수는 오직 하나의 리턴값만으로 RETURN문을 통해서 반환할 수 있습니다. 함수는 다음과 같이 생성합니다. CREATE OR REPLACE FUNCTION 함수명 ( 파라미터1 [IN] 자료형1, 파라미터2..