본문 바로가기

2021 정보처리기사/3과목: 데이터베이스 구축

[2021 정보처리기사-3과목] 절차형 SQL

728x90
반응형
[정보처리기사 3과목 필기 예상 키워드] 목록으로 돌아가기
과목: 3. 데이터베이스 구축
챕터: 3장 데이터베이스 구축
키워드: 절차형 SQL, SQL 활용
 #SQL 활용

 

 

절차형 SQL

개요

✔ 분기, 반복이 가능한 모듈화된(재사용 가능한) 프로그램을 말한다.

✔ 작업의 결과를 데이터베이스에 저장

✔ DBMS에서 직접 실행

프로시저, 트리거, 사용자 정의함수 등이 있음

 

구성

✔ DECLARE, BEGIN, END

 

 

 

 

 

프로시저

형식

주로 DML을 사용해서 주기적으로 진행하는 작업에 사용(매출 마감작업, 일괄작업 등)

 

 

DECLARE

CREATE OR REPLACE PROCEDURE 매출마감 (마감일 IN CHAR (8))

 

=괄호 ( ) 에는 진행에 필요한 매개변수 지정, 입력(IN), 출력(OUT), 입출력(INOUT)으로 구분하여 저장될 데이터 타입을 지정

=프로시저 생성(CREATE) 또는 만약 프로시저가 존재한다면 새롭게 교체(REPLACE)

 

 

IS

프로시저 내부에서 사용할 변수나 상수 등을 정의

 

 

 

BEGIN

✔ 본격적으로 프로시저를 시작

✔ 총 4가지 영역으로 나뉨

-  분기나 반복 / SQL을 사용하여 데이터를 관리하는 영역 / 예외처리 영역/ 작업결과 실제 반영 또는 취소 영역

✔ BEGIN  내부에서 CONTROL 이나 SQL등 다른 영역은 섞여서 사용되고 트랜잭션 영역(COMMIT 등)이 마지막에 사용됨

 

 

END

정의한 프로시저 호출할때는 보통 EXECUTE를 사용하는데, EXEC나 CALL이 사용되기도 함

프로시저명과 호출에 필요한 인자값을 넘겨주면 실행 ex) EXECUTE 매출마감('20210421');

 

정의한 프로시저를 제거할 때는 DROP PROCEDURE과 프로시져명을 입력

실행을 하지 않기 떄문에 인자값을 넣을 필요는 없음

ex) DROP PROCEDURE 매출마감;

 

 

 

 

 

 

 

 

 

사용자 정의 함수

개요

✔ 호출시 특정 값을 돌려받을 수 있다(단일 값 반환)

✔ 따라서 트랜잭션 영역이 RETURN 영역으로 바뀐다

✔ 작업의 결과를 호출한 쿼리문에 돌려준다

✔ 함수 호출이 대부분 DML 문장 내부에서 일어난다 (SELECT, UPDATE 등에 사용)

✔ 파라미터 옵션은 IN만 존재한다

사용자 정의 함수의 생성문에는 BEGIN, END, RETURN이 반드시 필요하다

 

 

 

 

 

 

 

트리거

개요

✔ 삽입, 삭제, 수정 등으로 데이터베이스에 특정 변화(이벤트)가 발생하는 경우에 자동으로 실행되게끔 만들어진 프로그램

무결성을 유지하거나 로그를 저장하는 등에 사용

리턴값이나 매개변수가 없고, COMIIT, ROLLBACK이 없음

✔ 오류에 특별히 주의

 

 

트리거 DECLARE 영역의 특징

AFTER / BEFORE [EVENT] ON 테이블명: 이벤트 발생 전(후)에 실행
FOR EACH ROW: 이벤트가 발생한 행마다 각각 트리거 진행

 

 

 

 

 

 

프로시저 VS 사용자 정의 함수

구분 프로시저 사용자정의함수
반환값 없거나 1개 이상 가능 1개(단일값)
파라미터 입, 출력 가능 입력만 가능
사용 가능 명령문 DML, DCL SELECT
호출 프로시저, 사용자 정의 함수 사용자 정의 함수
사용방법 실행문 DML에 포함

 

 

 


 

정보처리기사 3과목 필기 (상시업뎃)

2021년 정보처리기사 공부를 위해 각 과목/챕터 별 Best 키워드를 정리해 놓은 글입니다. 시나공 문제집의 기출빈도와 중요도를 기준으로 정리된 키워드들이며, 순서와 관계 없이 

y-oni.tistory.com

 

참고: 시나공 정보처리기사 필기 (저자: 강윤석, 김용갑, 김우경, 김정준 | 출판사: 길벗), 유튜브 주간컴공TV

728x90