CREATE PROCEDURE 문

CREATE PROCEDURE 문 (CREATE PROCEDURE Statement)

CREATE PROCEDURE 문은 사용자 정의 SQL 프로시저(저장 프로시저, stored procedure)를 만들기 위해 사용하는 문이에요. 반복 사용할 로직을 프로시저로 정의해 두면 코드 재사용이 가능합니다.

출처: 문서

본문

구문 (Syntax):

[ALTER | CREATE [OR REPLACE] | REPLACE] PROCEDURE | PROC procedure_name [parameters] 
 [AS | IS] 
 body

parameters:
  ([IN | OUT | INOUT | IN OUT] name data_type, ...)
  |
  (name [IN | OUT | INOUT | IN OUT] data_type, ...)

body:
  statement | expression | BEGIN statements END

예제 (Example):

프로시저를 정의하고, 파라미터를 넘겨 호출해 봅니다.

CREATE PROCEDURE set_message(IN name STRING, OUT result STRING)
BEGIN
 SET result = 'Hello, ' || name || '!';
END;

-- Now call the procedure and print the results
DECLARE str STRING;
CALL set_message('world', str);
PRINT str;

결과:

Hello, world!

호환성 (Compatibility): Oracle, Teradata, IBM DB2, Microsoft SQL Server, PostgreSQL, MySQL, Netezza

더 보기:

  • 사용자 정의 함수와 저장 프로시저 (User-Defined Functions and Stored Procedures)
  • CALL
  • CREATE PACKAGE
  • CREATE FUNCTION
  • INCLUDE

더 알아보기 (Learn more)

CREATE PROCEDURE로 만들어 둔 프로시저는 CALL 문으로 호출해 재사용할 수 있어요. IN/OUT/INOUT 파라미터로 값을 주고받을 수 있고, 관련된 유용한 문으로 CREATE PACKAGE, CREATE FUNCTION, INCLUDE 등이 있으니 함께 참고하세요.