문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
|
기술문서:레퍼런스:쿼리:기본:객체:프로시저 [2025/11/14 12:15] carlito76 ↷ 문서가 개인문서:임시문서:기술문서:레퍼런스:쿼리:기본:객체:프로시저에서 etc:임시문서:기술문서:레퍼런스:쿼리:기본:객체:프로시저(으)로 이동되었습니다 |
기술문서:레퍼런스:쿼리:기본:객체:프로시저 [2026/01/27 12:09] (현재) carlito76 |
||
|---|---|---|---|
| 줄 5: | 줄 5: | ||
| ====== 프로시저 ====== | ====== 프로시저 ====== | ||
| + | |||
| + | <note tip> | ||
| + | 최소 지원 버전은 약간의 차이가 있을 수 있습니다. | ||
| + | </ | ||
| ===== MySQL/ | ===== MySQL/ | ||
| - | <sxh sql; gutter: true;> | + | <sxh sql; gutter: true; highlight: [38-39];> |
| - | -- FIXME | + | /* |
| + | MySQL 5.0.1 이상/ | ||
| + | */ | ||
| + | DELIMITER $$ | ||
| + | |||
| + | -- 생성 | ||
| + | CREATE PROCEDURE {프로시저}( | ||
| + | IN {입력변수} {타입}, -- IN 키워드 생략 가능 | ||
| + | OUT {출력변수} {타입}, | ||
| + | INOUT {입출력변수} {타입} | ||
| + | ) | ||
| + | {CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA} -- 생략 가능 | ||
| + | BEGIN | ||
| + | DECLARE {변수} {타입}; | ||
| + | |||
| + | /* | ||
| + | 쿼리 작성 (트랜잭션 사용 가능) | ||
| + | */ | ||
| + | END | ||
| + | $$ | ||
| + | |||
| + | DELIMITER ; | ||
| + | |||
| + | -- 삭제 | ||
| + | DROP PROCEDURE {프로시저}; | ||
| + | |||
| + | /* | ||
| + | MySQL 5.0.10 이상/ | ||
| + | */ | ||
| + | -- 삭제 | ||
| + | DROP PROCEDURE IF EXISTS {프로시저}; | ||
| + | |||
| + | /* | ||
| + | MariaDB 10.1.3 이상 | ||
| + | */ | ||
| + | DELIMITER $$ | ||
| + | |||
| + | -- 생성/ | ||
| + | CREATE OR REPLACE PROCEDURE {프로시저}( | ||
| + | IN {입력변수} {타입}, -- IN 키워드 생략 가능 | ||
| + | OUT {출력변수} {타입}, | ||
| + | INOUT {입출력변수} {타입} | ||
| + | ) | ||
| + | {CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA} -- 생략 가능 | ||
| + | BEGIN | ||
| + | DECLARE {변수} {타입}; | ||
| + | |||
| + | /* | ||
| + | 쿼리 작성 (트랜잭션 사용 가능) | ||
| + | */ | ||
| + | END | ||
| + | $$ | ||
| + | |||
| + | DELIMITER ; | ||
| </ | </ | ||
| ===== MSSQL ===== | ===== MSSQL ===== | ||
| - | <sxh sql; gutter: true;> | + | <sxh sql; gutter: true; highlight: [8, 25, 44-45];> |
| - | -- FIXME | + | /* |
| + | MSSQL 7.0 이상 | ||
| + | */ | ||
| + | -- 생성 | ||
| + | CREATE PROCEDURE {프로시저} | ||
| + | @{입력변수} {타입}, | ||
| + | @{출력변수/ | ||
| + | @{입력변수} {타입} READONLY -- Table-Valued Parameter / MSSQL 2008 이상 | ||
| + | AS | ||
| + | BEGIN | ||
| + | SET NOCOUNT ON; | ||
| + | |||
| + | DECLARE @{변수} {타입}; | ||
| + | |||
| + | /* | ||
| + | 쿼리 작성 (트랜잭션 사용 가능) | ||
| + | */ | ||
| + | END; | ||
| + | GO | ||
| + | |||
| + | -- 수정 | ||
| + | ALTER PROCEDURE {프로시저} | ||
| + | @{입력변수} {타입}, | ||
| + | @{출력변수/ | ||
| + | @{입력변수} {타입} READONLY -- Table-Valued Parameter / MSSQL 2008 이상 | ||
| + | AS | ||
| + | BEGIN | ||
| + | SET NOCOUNT ON; | ||
| + | |||
| + | DECLARE @{변수} {타입}; | ||
| + | |||
| + | /* | ||
| + | 쿼리 작성 (트랜잭션 사용 가능) | ||
| + | */ | ||
| + | END; | ||
| + | GO | ||
| + | |||
| + | -- 삭제 | ||
| + | DROP PROCEDURE {프로시저}; | ||
| + | |||
| + | /* | ||
| + | MSSQL 2016 이상 | ||
| + | */ | ||
| + | -- 생성/ | ||
| + | CREATE OR ALTER PROCEDURE {프로시저} | ||
| + | @{입력변수} {타입}, | ||
| + | @{출력변수/ | ||
| + | @{입력변수} {타입} READONLY -- Table-Valued Parameter | ||
| + | AS | ||
| + | BEGIN | ||
| + | SET NOCOUNT ON; | ||
| + | |||
| + | DECLARE @{변수} {타입}; | ||
| + | |||
| + | /* | ||
| + | 쿼리 작성 (트랜잭션 사용 가능) | ||
| + | */ | ||
| + | END; | ||
| + | GO | ||
| + | |||
| + | -- 삭제 | ||
| + | DROP PROCEDURE IF EXISTS {프로시저}; | ||
| </ | </ | ||
| ===== Oracle/ | ===== Oracle/ | ||
| - | <sxh sql; gutter: true;> | + | <sxh sql; gutter: true; highlight: [6-7];> |
| - | -- FIXME | + | /* |
| + | Oracle 8i 이상/ | ||
| + | */ | ||
| + | -- 생성 | ||
| + | CREATE PROCEDURE {프로시저} ( | ||
| + | -- 생성/ | ||
| + | -- CREATE OR REPLACE PROCEDURE {프로시저} ( | ||
| + | {입력변수} IN {타입}, -- IN 키워드 생략 가능 | ||
| + | {출력변수} OUT {타입}, | ||
| + | {입출력변수} IN OUT {타입} | ||
| + | ) | ||
| + | IS | AS | ||
| + | {변수} {타입}; | ||
| + | BEGIN | ||
| + | /* | ||
| + | 쿼리 작성 (트랜잭션 사용 가능) | ||
| + | */ | ||
| + | END; | ||
| + | / | ||
| + | |||
| + | -- 삭제 | ||
| + | DROP PROCEDURE {프로시저}; | ||
| + | |||
| + | /* | ||
| + | Oracle 23c 이상 | ||
| + | */ | ||
| + | -- 삭제 | ||
| + | DROP PROCEDURE IF EXISTS {프로시저}; | ||
| </ | </ | ||
| ===== PostgreSQL ===== | ===== PostgreSQL ===== | ||
| - | <sxh sql; gutter: true;> | + | <sxh sql; gutter: true; highlight: [6-7];> |
| - | -- FIXME | + | /* |
| + | PostgreSQL 11.0 이상 | ||
| + | */ | ||
| + | -- 생성 | ||
| + | CREATE PROCEDURE {프로시저} ( | ||
| + | -- 생성/ | ||
| + | -- CREATE OR REPLACE PROCEDURE {프로시저}( | ||
| + | IN {입력변수} {타입}, -- IN 키워드 생략 가능 | ||
| + | OUT {출력변수} {타입}, | ||
| + | INOUT {입출력변수} {타입} | ||
| + | ) | ||
| + | AS $$ | ||
| + | DECLARE | ||
| + | {변수} {타입}; | ||
| + | BEGIN | ||
| + | /* | ||
| + | 쿼리 작성 (트랜잭션 사용 가능) | ||
| + | */ | ||
| + | END; | ||
| + | $$ LANGUAGE plpgsql; | ||
| + | |||
| + | -- 삭제 | ||
| + | DROP PROCEDURE {프로시저}; | ||
| + | DROP PROCEDURE IF EXISTS {프로시저}; | ||
| </ | </ | ||
| {{tag>" | {{tag>" | ||