기록공간

3-4-1장. 프로시저(Procedure) - A 본문

자격증공부/정보처리기사_필기

3-4-1장. 프로시저(Procedure) - A

입코딩 2020. 9. 15. 22:58
반응형

프로시저의 개요

프로시저란 절차형 SQL을 활용하여 특정 기능을 수행하는 일종의 트랜잭션 언어로, 호출을 통해 실행되어 미리 저장해 놓은 SQL 작업을 수행한다.

 

  • 프로시저를 만들어 데이터베이스에 저장하면 여러 프로그램에서 호출하여 사용할 수 있음

  • 프로시저는 데이터베이스에 저장되어 수행되기 때문에 스토어드(Stored) 프로시저라고도 불림

  • 프로시저는 시스템의 일일 마감 작업, 일관(Batch) 작업 등에 주로 사용

프로시저 구성도

  • DECLARE : 프로시저의 명칭, 변수, 인수, 데이터 타입을 정의하는 선언부

  • BEGIN / END : 프로시저의 시작과 종료를 의미

  • CONTROL : 조건문 또는 반복문이 삽입되어 순차적으로 처리됨

  • SQL : DML, DCL이 삽입되어 데이터 관리를 위한 조회, 추가, 수정, 삭제 작업을 수행

  • EXCEPTION : BEGIN ~ END 안의 구문 실행 시 예외가 발생하면 이를 처리하는 방법을 정의

  • TRANSACTION : 수행된 데이터 작업들을 DB에 적용할지 취소할지를 결정하는 처리부

프로시저 생성

프로시저를 생성하기 위해서는 CREATE PROCEDURE 명령어를 사용한다.

CREATE [OR REPLACE] PROCEDURE 프로시저명(파라미터)
[지역변수 선언]
BEGIN
 프로시저 BODY;
END

 

  • OR REPLACE : 선택적인 예약어이다. 이 예약어를 사용하면 동일한 프로시저 이름이 이미 존재하는 경우, 기존의 프로시저를 대체할 수 있음

  • 프로시저명 : 생성하려는 프로시저 이름 지정

  • 파라미터 : 프로시저 파라미터로는 다음과 같은 것들이 올 수 있음

    • IN : 호출 프로그램이 프로시저에게 값을 전달할 때 지정

    • OUT : 프로시저가 호출 프로그램에게 값을 반환할 때 지정

    • INOUT : 호출 프로그램이 프로시저에게 값을 전달하고, 프로시저 실행 후 호출 프로그램에 값을 반환할 때 지정

    • 매개변수명 : 호출 프로그램으로부터 전달받은 값을 저장할 변수의 이름을 지정

    • 자료형 : 변수의 자료형을 지정

  • 프로시저 BODY

    • 프로시저의 코드를 기록하는 부분

    • BEGIN에서 시작하여 END로 끝나며, BEGIN과 END 사이에는 적어도 하나의 SQL문이 있어야 함

프로시저 실행

프로시저를 실행하기 위해서는 EXECUTE 명령어 또는 CALL 명령어를 사용하며, EXECUTE 명령어를 줄여서 EXEC로 사용하기도 함

EXECUTE 프로시저명;
EXEC 프로시저명;
CALL 프로시저명;

프로시저 제거

프로시저를 제거하기 위해서는 DROP PROCEDURE 명령어를 사용한다.

DROP PROCEDURE 프로시저명;
반응형

'자격증공부 > 정보처리기사_필기' 카테고리의 다른 글

3-4-3장. 사용자 정의 함수 - B  (0) 2020.09.15
3-4-2장. 트리거(Trigger) - B  (0) 2020.09.15
3-3-7장. DML - JOIN - B  (0) 2020.09.15
3-3-5장~3-3-6장. DML - SELECT - A  (0) 2020.09.14
3-3-4장. DML - B  (0) 2020.09.14
Comments