Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 인터페이스
- 워크스루
- Ajax
- rest
- 리눅스
- SSL/TLS
- 델파이 기법
- 키보드 이벤트
- 정처기
- EAI
- 정보처리기사
- input
- 인스펙션
- 서버
- esb
- 동기
- 소프트웨어
- 모듈화
- 정보처리기사 실기
- 모듈
- 정처기 실기
- 프로시저
- S-HTTP
- 브레인스토밍
- 비동기
- 트리거
- 라디오 버튼
- javascript
- 자바스크립트
- 형상관리
Archives
- Today
- Total
방구석 상상코딩
19. 절차형 SQL 활용하기 본문
절차형 SQL
1. 프로시저 (Procedure)
일련의 쿼리들을 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합
CREATE [OR REPLACE] PROCEDURE 프로시저_명
(파라미터_명 [IN | OUT | INOUT] 데이터_타입, ...)
IS
변수선언
BEGIN # 프로시저의 시작
명령어;
[COMMIT | ROLLBACK]
END; # 프로시저의 끝
# OR REPLACE : 기존 프로시저 존재 시에 현재 컴파일하는 내용으로 덮어씀
# IN : 운영체제에서 프로시저로 값을 전달하는 모드
# OUT : 프로시저에서 처리된 결과를 운영체제로 전달하는 모드
# INOUT : IN과 OUT의 두가지 기능을 동시에 수행하는 모드
# COMMIT : 하나의 트랜젝션이 성공적으로 끝나고, 데이터베이스가 일관성 있는 상태에 있을 때 하나의 트랜젝션이 끝났을 때 사용하는 연산
# ROLLBACK : 하나의 트랜젝션이 비정상적으로 종료되어 트랜젝션 원자성이 깨질 경우 처음부터 다시 시작하거나, 부분적으로 연산을 취소하는 연산
2. 사용자 정의 함수 (User-Defined Function)
일련의 SQL 처리를 수행하고, 수행 결과를 단일 값으로 반환할 수 있는 절차형 SQL
CREATE [OR REPLACE] FUNCTION 함수명
(파라미터_명 IN 데이터_타입, ...)
RETURN 데이터_타입 # 사용자 정의함수가 종료될 때 반환하는 데이터 타입
IS
변수선언
BEGIN # 사용자 정의함수 시작
명령어;
RETURN 변수; # 사용자 정의함수가 종료될 때 반환하는 단일 값
END; # 사용자 정의함수 끝
# OR REPLACE : 기존 사용자 정의함수 존재 시에 현재 컴파일하는 내용으로 덮어씀
# IN : 운영체제에서 사용자 정의함수로 값을 전달하는 모드
3. 트리거 (Trigger)
데이터베이스 시스템에서 삽입, 갱신, 삭제 등의 이벤트가 발생할 때마다 관련 작업이 자동으로 수행되는 절차형 SQL
CREATE [OR REPLACE] TRIGGER 트리거명
[BEFORE | AFTER] 유형 ON 테이블명
[FOR EACH ROW]
BEGIN # 트리거 시작
END; # 트리거 끝
# OR REPLACE : 기존 트리거 존재 시에 현재 컴파일하는 내용으로 덮어씀
# BEFORE : 테이블 명에 대한 INSERT / UPDATE / DELETE 를 수행하기 전에 트리거가 실행
# AFTER : 테이블 명에 대한 INSERT / UPDATE / DELETE 가 성공적으로 실행되었을 때만 트리거가 실행
# 유형 : INSERT, UPDATE, DELETE 중 트리거를 수행할 명령어 유형을 선택 (INSERT OR DELETE)
# FOR EACH ROW : 매번 변경되는 데이터 행의 수만큼 실행을 위한 명령어
조건문
# IF문
IF 조건 THEN 문장;
ELSEIF 조건 THEN 문장;
ELSE 문장;
END IF;
# 간단한 케이스 문 (Simple Case Expression)
CASE
WHEN 값1 THEN SET 명령어;
WHEN 값2 THEN SET 명령어;
ELSE SET 명령어;
END CASE;
# 검색된 케이스 문(Searched Case Expression)
CASE
WHEN 조건1 THEN SET 명령어;
WHEN 조건2 THEN SET 명령어;
ELSE SET 명령어;
END CASE;
반복문
# LOOP 문
LOOP 문장;
EXIT WHEN 탈출조건;
END LOOP;
# WHILE 문
WHILE 반복조건 LOOP 문장;
EXIT WHEN 탈출조건;
END LOOP;
# FOR LOOP 문
FOR 인덱스 IN 시작값 .. 종료값
LOOP 문장;
END LOOP;
예외부(Exception)
EXCEPTION WHEN 조건 THEN SET 명령어;
'정보처리기사 실기' 카테고리의 다른 글
21. 개발환경 구축 (0) | 2022.01.24 |
---|---|
20. 데이터 조작 프로시저 최적화 (0) | 2022.01.23 |
18. 응용 SQL 작성하기 (0) | 2022.01.23 |
17. 데이터베이스 기본 (0) | 2022.01.22 |
16. 프로그래밍 언어 활용 (0) | 2022.01.22 |