정의
1) MySQL에서 제공되는 프로그래밍 기능이다.
2) 쿼리문의 집합으로 어떠한 동작을 일괄 처리하기 위한 용도로 사용된다.
특징
1) MySQL의 성능을 향상시킬 수 있다.
2) 유지관리가 편하다.
3) 모듈식 프로그래밍이 가능하다.
4) 보안을 강화할 수 있다.
형식
CREATE
[DEFINER = user]
PROCEDURE sp_name ([proc_parameter[,...]])
[characteristic ...] routine_body
proc_parameter:
[ IN | OUT | INOUT ] param_name type
type:
Any valid MySQL data type
characteristic:
COMMENT 'string'
| LANGUAGE SQL
| [NOT] DETERMINISTIC
| { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
| SQL SECURITY { DEFINER | INVOKER }
routine_body:
Valid SQL routine statement
--------------------------------------
+ 간단한 형태
DELIMITER $$
CREATE PROCEDURE 스토어드 프로시저이름( IN 또는 OUT 파라미터 )
BEGIN
이 부분에 SQL 프로그래밍 코딩
END
DELIMITER ;
CALL 스토어드 프로시저이름();
ex)
1 USE sqlDB;
2 DROP PROCEDURE IF EXISTS userProc;
3 DELIMITER $$
4 CREATE PROCEDURE userProc()
5 BEGIN
6 SELECT * FROM userTbl;
7 END $$
8 DELIMITER ;
9
10 CALL userProc();
2행 - 기존에 만든 적이 있다면 삭제하기 위해서 넣음
3행 ~ 7행 - 스토어드 프로시저를 묶어주는 부분
8행 - 종료
10행 - 생성한 스토어드 프로시저 호출
수정, 삭제
수정 - ALTER PROCEDURE
삭제 - DROP PROCEDURE
'MySQL' 카테고리의 다른 글
[MySQL] Workbench 테이블 생성 (0) | 2022.06.14 |
---|---|
[MySQL] DML, DDL, DCL 용어 정리 (0) | 2022.06.14 |
[MySQL] 트리거 (종류, 사용법, 삭제, 예제) (0) | 2022.06.10 |
[MySQL] Workbench Navigator 역할 (0) | 2022.06.10 |