과목4. 데이터베이스 구축, 9강. SQL 응용-절차형 SQL작성(2)
[ 목차 ]
1. 사용자 정의 함수
2. 오라클 PL/CQL 사용자 정의 함수 작성 문법
3. MS T-SQL 사용자 정의 함수 작성 문법
4. 트리거
5. 트리거 용도
6. 오라클 PL/SQL 트리거 작성 문법
7. 트리거 이벤트
8. MS T-SQL 트리거 작성 문법
9. 트리거의 종류(세 가지가 있다 정도만 기억)
10 오류처리
1. 사용자 정의 함수
1) 매개변수를 받을 수 있고 데이터와 관련된 복잡한 계산 등을 수행하며 해당 동작의 결과를 반환
2) DBMS에 정의 가능
3) 기본사항은 프로시저와 동일하지만 결과값을 반환하는 부분이 상이(입력은 있으나 출력이 없고 RETURN을 통해 반환)
4) DBMS에서 제공되는 공통적 함수(내장함수) 이외에 사용자가 직접 정의하고 작성
2. 오라클 PL/CQL 사용자 정의 함수 작성 문법
3. MS T-SQL 사용자 정의 함수 작성 문법
4. 트리거
1) DB에 특정한 변경이 가해졌을 대 명시된 이벤트가 발생할 때마다 DBMS가 이에 대응해서 자동적으로 호출하는 이종의 프로시저
2) 프로시저와 함수는 그 실행이 외부적인 실행 명령에 의해 처리되는 반면 트리거는 트러거링 사건에 의해 내부적 실행
3) = 이벤트-조건-동작 규칙(EvenetConditionAction)
4) 트리거 구성
1] 사건 evenet : 트리거를 가동하는 사건(insert, update, delete문)
2] 조건 condition : 트리거 수행 여버룰 결정하는 검사 조건(when)
3] 동작 action : 트리거가 가동될 때 수행하는 작업(begin... end 블록)
5. 트리거 용도
1) 테이블 생성 시 참조 무결성과 데이터 무결성 그 밖의 다른 제약 조건으로 정의할 수 없는 복잡한 요구 사항에 대한 제약조건을 생성하는데 사용
2) 테이블 정의 시 표현할 수 없는 기업의 비즈니스 규칙들을 시행하는 역할
3) 테이블의 데이터에 생기는 작업을 감시 즉, 보안 통제용으로 활용 가능
6. 오라클 PL/SQL 트리거 작성 문법
1) set serveroutput on : DBMS_OUTPUT.PUT_LINE을 출력하기 위해 사용
7. 트리거 이벤트
1) TRIGGER_EVENT : INSERT, UPDATE, DELETE 중 한 개 이상을 기술
2) BEFORE : INSERT, UPDATEM DELETE 문이 실행되기 전 트리거를 실행
3) AFTER : INSERT, UPDATE, DELETE 문이 실행된 후 트리거를 실행
4) FOR EACH ROW : 행트리거 정의문
문장 트리거 statement level trigger
1) 트리거링 사건에 의해 단 한 번 실행
2) 칼럼의 각 데이터 행 제어 불가능(행 트리거와 달리 행 제어 불가능한 것만 유의)
3) 칼럼의 데이터 값에 상관없이 그 칼럼에 변화가 일어남을 감지하여 실행되는 트리거
행 트리거 row level trigger
1) 칼럼의 각각의 데이터 해에 변화가 생길 때마다 실행
2) 변화가 생긴 데이터 행의 실제 값 제어 가능
3) 데이터 행의 실제 값을 수정, 변경 , 저장할 때 사용
행 트리거 칼럼 값 참조 연산자 : old, new 연산자
INSERT문 : 입력할 데이터 값 : new._column_name
UPDATE문 : 변경 전 칼럼 값 : old,_column_name, 수정할 값 : new_column_name
DELETE 문 : 삭제되는 칼럼 값 : old_column_name
8. MS T-SQL 트리거 작성 문법
9. 트리거의 종류(세 가지가 있다 정도만 기억)
1) DML트리거
2) DDL트리거
3) LOGON 트리거
10 오류처리
1) 절차형SQL 프로그램의 구문 오류 또는 프로그램 실행 상황에 따라 발생하는 오류를 처리하기 위해 예외사항을 정의하고 이것이 발생했을 대 미리 정의된 처리 루틴으로 분기하도록 정의하는 과정
'자격증 > 정보처리기사 4과목' 카테고리의 다른 글
4-11강 논리 데이터베이스 설계-데이터 모델(2) (0) | 2020.05.06 |
---|---|
4-10강. 논리 데이터베이스 설계-데이터 모델(1) (0) | 2020.05.06 |
4-8강 SQL 응용-절차형 SQL 작성(1) (0) | 2020.05.06 |
4-7강 SQL 응용-응용 SQL 작성 (0) | 2020.05.06 |
4-6강 SQL 활용-고급 SQL 작성(2) (0) | 2020.04.27 |