본문 바로가기

프로그래밍/SQL

[SQL] Procedure와 Stored Procedure

- Procedure: 소프트웨어에서 특정 동작을 수행하는 일정 코드 부분을 의미하며 함수, 메서드, 루틴, 서브루틴과 같은 바를 의미한다.

- Stored Procedure: DB 내에서 재사용할 수 있는 SQL 코드를 뜻한다.

- 대부분의 RDB에서 Stored procedure를 지원한다.

- SP구문 내에서 세미콜론을 사용하기 때문에 DELIMITER를 반드시 사용해야 한다.

 

- 구문

DELIMITER //

CREATE PROCEDURE SP이름([인자 형식])

BEGIN

  수행할 코드;

END //

DELIMITER ;

 

- 사용 예시

mysql> delimiter // 

mysql> CREATE PROCEDURE simpleproc (OUT param1 INT)

    -> BEGIN

    ->   SELECT COUNT(*) INTO param1 FROM t;

    -> END//

Query OK, 0 rows affected (0.00 sec)

 

mysql> delimiter ;

 

mysql> CALL simpleproc(@a);

Query OK, 0 rows affected (0.00 sec)

 

mysql> SELECT @a;

+------+

| @a   |

+------+

| 3    |

+------+

1 row in set (0.00 sec)

 

'프로그래밍 > SQL' 카테고리의 다른 글

[DB] 유저 생성과 권한, 롤(Grant, Revoke)  (0) 2019.07.06
[SQL] 다이어그램과 ERD  (0) 2019.07.06
[SQL] Trigger란 ?  (0) 2019.07.06
[SQL 요약 정리] 1-14. ADVANCED SQL  (0) 2019.02.09
[SQL 요약 정리] 1-13. OBJECT  (0) 2019.02.09