[DB] STORED PROCEDURE

touhou09·2025년 1월 19일
0

컴퓨터 이론

목록 보기
46/47

SQL은 DB에서 사용되는 언어이다.
앞에서 본 내용들을 총합하면 SQL을 사용하는 경우 자동화하지 않고 반복적으로 사용하기에는 상당히 불편하고 한계가 명확하다.

MYSQL의 스토어드 프로시저는 이러한 한계를 극복하기 위해 SQL에 프로그래밍 기능을 추가해서 일반 프로그래밍 언어와 비슷한 효과를 낼 수 있도록 한다.

기본

먼저 완전한 형식을 알기 전에 실제로 사용하는 간단한 형식부터 알아본다.

스토어드 프로시저의 개념과 형식

일반 프로그래밍 언어와 차이점은 있으나, MYSQL 내부에서 사용할 때 적절한 프로그래밍 기능을 제공한다.

쿼리문의 집합으로도 볼 수 있는 스토어드 프로시저는 어떠한 동작을 일괄 처리하기 위한 용도로도 사용하는데, 자주 사용하는 일반적인 쿼리를 반복하는 것보다는 스토어드 프로시저로 묶어 놓고 필요할 때마다 간단히 호출만 하면 훨씬 편리하게 운영할 수 있도록 한다.

필수적인 형식은 아래와 같다.

DELIMITER $$
CREATE PROCEDURE 스토어드_프로시저_이름 (IN 또는 OUT 매개변수)
BEGIN
	SQL 프로그래밍 코드

END$$
DELIMITER ;

CREATE PROCEDURE는 스토어드 프로시저를 만든 것뿐이며, 실행을 한 것은 아니다.

호출하는 형식은 아래와 같다.

CALL 스토어드_프로시저_이름();

매개변수의 사용

스토어드 프로시저에서는 실행 시 입력 매개변수를 지정할 수 있다.

IN 입력_매개변수_이름 데이터형식

입력 매개변수가 있는 스토어드 프로시저를 실행하는 경우 아래와 같이 괄호 안에 값을 전달해야한다.

CALL 프로시저_이름(전달_값);

스토어드 프로시저에서 처리된 결과를 출력 매개변수를 통해 얻을 수도 있습니다.

OUT 출력_매개변수_이름 데이터형식

출력 매개변수에 값을 대입하기 위해서는 주로 SELECT INTO 를 사용한다.
출력 매개변수가 있는 스토어드 프로시저를 실행하기 위해서는 다음과 같이 사용한다.

CALL 프로시저 이름(@변수명)
SELECT @변수명;
profile
Engineer가 되기 위하여

0개의 댓글