반응형
구문
- procedure_name : 프로시저의 이름
- var1, var2 ... : 입력 매개 변수의 이름
프로시저 생성 구문
DELIMITER //
CREATE PROCEDURE new_procedure_name (IN var1 datatype, IN var2 datatype, ...)
BEGIN
-- procedure body
END //
DELIMITER ;
프로시저 수정 구문
DELIMITER //
ALTER PROCEDURE procedure_name (IN var1 datatype, IN var2 datatype, ...)
BEGIN
-- procedure body
END //
DELIMITER ;
프로시저 삭제 구문
DROP PROCEDURE procedure_name;
프로시저 실행
CALL procedure_name (arg1, arg2, ...);
반응형
사용 예시
- 입력한 값을 출력하는 간단한 프로시저 생성 하고 삭제하기
프로시저 생성
DELIMITER $$
create procedure printNumber (
in iNum int
)
BEGIN
SELECT iNum;
END $$
DELIMITER ;
프로시저 실행
CALL printNumber(1);
프로시저 삭제
DROP PROCEDURE printNumber;
프로시저 관련 명령어
SHOW CREATE PROCEDURE
저장된 프로시저의 정보 확인
-- SHOW CREATE PROCEDURE procedure_name;
SHOW CREATE PROCEDURE printNumber;
SHOW PROCEDURE STATUS
- 현재 DB에 저장되어 있는 모든 프로시저 출력
SHOW PROCEDURE STATUS;
+ DELIMITER
- 단일 문자열에서 여러 문을 구분하는데 사용
- MySQL의 일반적인 문 구분 기호는 세미콜론(;) 사용
- 저장 프로시저를 정의 할 때 세미콜론은 프로시저 내에서 문을 구분하기 위해 사용되므로 여러 문을 구분하기 위한 다른 구분 기호가 필요
- 구분 기호 : $$ 또는 // 사용
- 사용자의 선호도에 따라 선택해서 사용
- 구분 기호 : $$ 또는 // 사용
반응형