MySQL

[MySQL] 스토어드 프로시저 (정의, 특징, 형식, 수정과 삭제)

공모 2022. 6. 9. 14:35
반응형

정의

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 ;

10 CALL userProc();

 

2행 - 기존에 만든 적이 있다면 삭제하기 위해서 넣음

3행 ~ 7행 - 스토어드 프로시저를 묶어주는 부분

8행 - 종료

10행 - 생성한 스토어드 프로시저 호출

 

수정, 삭제

수정 - ALTER PROCEDURE

삭제 - DROP PROCEDURE

반응형