MariaDB / Procedure
목차
예제로 사용한 데이터베이스는 employees이다.
Procedure
Procedure를 이용하면 여러 쿼리를 한 번에 실행할 수 있다.
기본 예제
Procedure 만들기
- delimiter를 다른 것으로 변경한다.
MariaDB [employees]> delimiter ##
- create procedure로 procedure를 만든다.
- procedure 이름 뒤에 괄호에는 매개변수가 들어간다.
- p_departments라는 이름의 매개변수가 없는 Procedure이다. departments 테이블의 모든 데이터를 출력한다.
MariaDB [employees]> create procedure p_departments() -> begin -> select * from departments; -> end -> ## Query OK, 0 rows affected (0.002 sec)
- delimiter를 복원한다.
MariaDB [employees]> delimiter ;
DBeaver 같은 툴을 이용하면 delimiter 변경 없이 Procedure를 만들 수 있다.
Procedure 호출하기
- call로 procedure를 호출한다.
MariaDB [employees]> call p_departments(); +---------+--------------------+ | dept_no | dept_name | +---------+--------------------+ | d009 | Customer Service | | d005 | Development | | d002 | Finance | | d003 | Human Resources | | d001 | Marketing | | d004 | Production | | d006 | Quality Management | | d008 | Research | | d007 | Sales | +---------+--------------------+ 9 rows in set (0.001 sec) Query OK, 0 rows affected (0.001 sec)
Procedure 조회하기
show procedure status;
Procedure 삭제하기
- Procedure를 삭제할 때는 괄호 없이 이름만 쓴다.
drop procedure p_departments;
매개변수 사용하기