상세 컨텐츠

본문 제목

[MySQL] 프로시저(Procedure) 만들기, 실행

MySQL

by 주초위왕 2023. 3. 22. 05:01

본문

Procedure(프로시져)는
SQL 명령어로 실행시킨 일련의 명령 집합을 하나로 묶어 함수화 시킨다고 보면 된다.
아래 쿼리문을 돌리면 두개의 결과값이 나온다.
 
형식은 아래와 같다

DREATE PROCEDURE [프로시저 이름] (
    in 파라미터
    out 파라미터
)
BEGIN
    SQL 프로그래밍
END $$
DELIMITER;

CALL 프로시저명

만약에 이 찾는 쿼리가 만약 몇개가 아니고 100개 이상이고 자주 써야한다면 비효율적인것.
한번에 하나 만들어놓고 이후에는 계속 가져다 쓰는게 유리하다. 그래서 프로시져를 만든다.
 
MySQL에서 프로시저(Procedure)를 사용해 주면 여러 쿼리를 프로시저 하나로 실행시킬 수 있는게 가능.
프로시저는 여러 쿼리를 한번에 수행하는 것이 특징.

 
완성되면 Apply누르기. 왼쪽에 프로시저 이름이 새롭게 생성되는걸 볼 수 있음. CALL을 했는데 원하는 값이 안나와서 다시 해야함.

DELIMITER $$
CREATE PROCEDURE new_procedure (
    IN DATE_TYPE varchar(100),
    OUT RESULT_DATE varchar(100)
)
BEGIN
    SELECT date_format(NOW(), DATE_TYPE)
    INTO RESULT_DATE;
END;

CALL new_procedure('%Y%m%d', @nowDates);

select @nowDates;

반응형

관련글 더보기

댓글 영역