개발공부/혼자공부하는 SQL

[SQL] 스토어드 프로시저

코푸딩 2023. 3. 28. 10:30
728x90

스토어드 프로시저

1. 기본문법

SQL에 프로그래밍 기능을 추가해서 사용하는 방법이다.

//스토어드 프로시저의 기본 형식, $$ 외에도 %%, && 등 사용 가능하다.
DELIMITER $$
CREATE PROCEDURE 프로시저_이름()
BEGIN

코드 작성

END $$
DELIMITER ;

 

 

2. 스토어드 프로시저 호출

위의 문법으로 만든 스토어드 프로시저는 CALL 키워드로 호출할 수 있다.

CALL 프로시저_이름();

 

 

3. 스토어드 프로시저 삭제

프로시저를 삭제할 땐 DROP 키워드를 사용하면 된다.

DROP PROCEDURE 프로시저_이름

 

 

 

 

매개변수의 사용

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

 

1. 입력 매개변수

프로시저를 생성할 때 입력 매개변수를 지정해 동적으로 값을 입력할 수 있다.

입력 매개변수는 여러 개 선언할 수 있으며 괄호 안에 콤마(,)로 구분해서 선언한다.

 

//프로시저 생성 시 입력 매개변수 사용
DELIMITER $$
CREATE PROCEDURE 프로시저_이름(IN 입력_매개변수1_이름 데이터_형식,
                                  입력_매개변수2_이름 데이터_형식)
BEGIN

코드 작성

END $$
DELIMITER ;

 

입력 매개변수의 입력값은 프로시저를 호출할 때 지정한다.

//위에서 생성한 입력 매개변수에 입력할 값을 지정해 프로시저를 호출한다.
CALL 프로시저_이름(입력값1, 입력값2)

 

 

2. 출력 매개변수

스토어드 프로시저의 결과를 출력 매개변수를 통해 얻을 수 있다.

//프로시저 생성 시 입력 매개변수 사용
DELIMITER $$
CREATE PROCEDURE 프로시저_이름(OUT 출력_매개변수_이름 데이터_형식)
BEGIN

코드 작성

END $$
DELIMITER ;

 

프로시저를 호출할 때 @변수명에 그 결과를 저장해 사용할 수 있다.

//@변수명에 프로시저 결과를 담는 과정
CALL 프로시저_이름(@변수명);

//@변수명으로 프로시저 결과를 호출
SELECT @변수명

 

 

3. 입력, 출력 매개변수 사용

입력 매개변수와 출력 매개변수를 함께 선언해서 사용할 수 있다.

//입력 매개변수와 출력 매개변수를 함께 선언해줄 수 있다.
DELIMITER $$
CREATE PROCEDURE 프로시저_이름(IN 입력_매개변수_이름 데이터_형식,
                               OUT 출력_매개변수_이름 데이터_형식)
BEGIN

코드 작성

END $$
DELIMITER ;

 

728x90