[ Oracle - Trigger 문법_기본구문 ]

 

 

 

 

해법

 

- before and after : 트리거가 트리거 트랜잭션 전후에 실행 되어야 하는지 의 여부를 알려준다.

- instead of : 트리거를 실행되도록 하는 이벤트 대신에 ‘트리거의 코드’를 실행

- delete , insert, update : 트리거 이벤트를 구성할 수 데이터 변형의 유형을 가리키다.

   이전 열 값과 새로운 열 값을 참조할 때, 다른 이름을 지정하기 위해서 디폴트(‘old’, ‘new’) 를 사용하거나

   referencing 저을 사용 할 수 있다.

- for each row : 트리거를 행 레벨 트리거로 만든다.

- when : 트리거가 실행 될 때 더 규제하기 위해 사용. When 절에서 시행되는 규제는 과거와 현재의

              데이터 값의 규제를 포함한다.

             - 예, when ( new.Amount  > old.Amount )   : 신규 Amount  값이 이전값보다 클 경우에만 트리거 실행

- RAISE_APPLICATION_ERROR  프로시저 를 통해서 사용자에게 에러숫자와 메시지를 보여준다.

  (예, raise_application_error (error코드, ‘Message내용’ )

  error코드 : -2001 ~ 20999 사이

 

 

 

Posted by 농부지기
,

[ Oracle - Trigger 특징 ]

 

1. Trigger Body 는 pl/sql 로 작성

2. 트리거는 유연성 때문에 참조 무결성을 보완 할 수 있다.

3. 트리거를 생성시 사용자는 그 테이블에 권한을 가지고 있어야 한다.

4.사용자는 CREATE TIRGGER 시스템권한을 가져야 한다.

    다른 사용자의 계정(Schema라고 하기도 한다)상에서 트리거를 만들기 위해서 사용자는

    Create any trigger 시스템 권한을 가져야 한다.

5. 트리거 소유주는 그 테이블의 권한을 부여받아야 한다.

6. 트리거 이름은 30자 이내

7. Trigger 는 본문만 변경 할 수 없다. 트리거의 상태(enable/disable)만이 변경 할 수 있는 유일한 부분이다.

    변경하기 위해서는 Trigger 를 다시 만들어서 대체 해야한다.

8. Trigger를 실행할 때 Trigger 내의 SQL 명령문은 잠정적으로 다른 Trigger를 실행할 수 있음

9.

 

Posted by 농부지기
,

[ Oracle - Trigger 특징_Trigger유형 ]

 

트리거 유형

1. Row-level(행 레벨) 트리거 : 하나의 트랙잭션에서 각 행에 대해 실행..

     for each row 절을 사용하면 된다.

2. Statement-level(문장 레벨)트리거 : 각 트랜잭션을 위해 한 번 시행 한다.

    디폴트 유형의 트리거 이다.

3. Before  트리거와 After 트리거 :

     새로운 값을 액세스하기 위해 BEFORE INSERT 트리거를 사용

4. INSTEAD OF 트리거

   뷰가 두 개의 테이블의 조인을 포함하는 경우 레크드에 UPDATE 명령을 사용할 수 있는 능력을 제한된다.

 그러나 INSTEAD OF 트리거를 사용하는 경우 사용자가 뷰를 통해 값을 변경하고자 할 때 뷰의 기저 테이블에

 레코드를 업데이트하거나 삭제 하거나 또는 삽입하는 방법을 ORACLE 에게 알려 줄 수 있다.

유효한 트리거 유형

   1. BEFORE INSERT 행

   2. BEFORE INSERT 문

   3. AFTER INSERT 행

   4. AFTER INSERT 문

   5. BEFORE UPDATE 행

   6. BEFORE UPDATE 문

   7. AFTER UPDATE 행

   8 . AFTER UPDATE 문

   9. BEFORE DELETE 행

   10. BEFORE DELETE 문

   11. AFTER DELETE 행

   12. AFTER DELETE 문

   13. INSTEAD OF 행

   14. INSTEAD OF 문

 

 

 

Posted by 농부지기
,

[ Oracle - Function 공통.두 날자의 년수를 구함 ]

 

Posted by 농부지기
,

[ Oracle - Function 공통.두 날자의 개월수를 구함 ]

 

Posted by 농부지기
,

[ Oracle - Function 공통.당월 말 구하기 ]

 

 

Posted by 농부지기
,

[ Oracle - Function 공통.두 날자 차이 구하기 ]

 

 

Posted by 농부지기
,

[ Oracle - Function 월 더하기.빼기 ]

 

Posted by 농부지기
,

[ Oracle - Function 예제2 ]

 

 

Posted by 농부지기
,

[ Oracle - Function 예제1 ]

 

Posted by 농부지기
,