본문 바로가기

DB

[MySQL] 저장 프로시저(Stored Procedure)

저장 프로시저

일련의 SQL문을 선언해서 MySQL에 저장하고 해당 SQL문을 함수처럼 사용하는 것.

 

저장 프로시저 생성

ex ) A회사의 회원 DB에 신규 회원을 입력할 때 실행하는 저장 프로시저

delimiter $$
create procedure proc_user_insert(
	in new_id varchar(100),
    in new_name varchar(100),
    in new_campus varchar(100),
    in new_class varchar(100),
    in new_gi varchar(100)
)
begin
	insert into A_user(id, name, campus, class, gi) 
    values (new_id, new_name, new_campus, new_class, new_gi);
end $$
delimiter ;

delimiter : 구분자(;)를 다른 구분자로 바꿨다가 프로시저 작성이 끝나면 다시 원래 구분자(;)로 되돌린다.

프로시저 작성이 완료되지 않았음에도 sql 문이 실행되는 것을 막기 위해 사용된다.

 

저장 프로시저 호출

call proc_user_insert('tech-heng', '애용','서울','기초1반','1기');

'DB' 카테고리의 다른 글

[MySQL] YEAR, MONTH, DATE 함수  (0) 2023.02.15
[MySQL] NULL을 제외한 값  (0) 2023.01.03
[MySQL] 날짜 관련 함수  (0) 2022.06.26
[MySQL] 항목별 합계 구하기  (0) 2022.06.14
[MySQL] 한 주(일주일)의 데이터 가져오기  (0) 2022.06.14