문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
|
기술문서:레퍼런스:쿼리:기본:객체:프로시저 [2026/01/26 13:28] carlito76 |
기술문서:레퍼런스:쿼리:기본:객체:프로시저 [2026/06/04 10:01] (현재) carlito76 |
||
|---|---|---|---|
| 줄 7: | 줄 7: | ||
| <note tip> | <note tip> | ||
| - | 최소 지원 버전은 약간의 차이가 있을 수 있습니다. | + | 최소 지원 버전은 약간의 차이가 있을 수 있습니다.\\ |
| + | - MySQL/ | ||
| + | - MSSQL, Oracle/ | ||
| </ | </ | ||
| ===== MySQL/ | ===== MySQL/ | ||
| - | <sxh sql; gutter: true; highlight: [37];> | + | <sxh sql; gutter: true; highlight: [38-39];> |
| /* | /* | ||
| MySQL 5.0.1 이상/ | MySQL 5.0.1 이상/ | ||
| 줄 18: | 줄 20: | ||
| -- 생성 | -- 생성 | ||
| - | CREATE PROCEDURE {프로시저}( | + | CREATE PROCEDURE {프로시저} ( |
| - | -- IN {입력변수} {타입}, | + | IN {입력변수} {타입}, -- IN 키워드 생략 가능 |
| - | -- OUT {출력변수} {타입}, | + | OUT {출력변수} {타입}, |
| - | -- INOUT {입출력변수} {타입} | + | INOUT {입출력변수} {타입} |
| ) | ) | ||
| - | {CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA} | + | {CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA} -- 생략 가능 |
| BEGIN | BEGIN | ||
| + | DECLARE {변수} {타입}; | ||
| + | |||
| /* | /* | ||
| 쿼리 작성 (트랜잭션 사용 가능) | 쿼리 작성 (트랜잭션 사용 가능) | ||
| 줄 48: | 줄 52: | ||
| -- 생성/ | -- 생성/ | ||
| - | CREATE OR REPLACE PROCEDURE {프로시저}( | + | CREATE OR REPLACE PROCEDURE {프로시저} ( |
| - | -- IN {입력변수} {타입}, | + | IN {입력변수} {타입}, -- IN 키워드 생략 가능 |
| - | -- OUT {출력변수} {타입}, | + | OUT {출력변수} {타입}, |
| - | -- INOUT {입출력변수} {타입} | + | INOUT {입출력변수} {타입} |
| ) | ) | ||
| - | {CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA} | + | {CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA} -- 생략 가능 |
| BEGIN | BEGIN | ||
| + | DECLARE {변수} {타입}; | ||
| + | |||
| /* | /* | ||
| 쿼리 작성 (트랜잭션 사용 가능) | 쿼리 작성 (트랜잭션 사용 가능) | ||
| 줄 65: | 줄 71: | ||
| ===== MSSQL ===== | ===== MSSQL ===== | ||
| - | <sxh sql; gutter: true; highlight: [25];> | + | <sxh sql; gutter: true; highlight: [8, 25, 44-45];> |
| /* | /* | ||
| - | MSSQL | + | MSSQL |
| */ | */ | ||
| -- 생성 | -- 생성 | ||
| CREATE PROCEDURE {프로시저} | CREATE PROCEDURE {프로시저} | ||
| - | -- @{입력변수} {타입}, | + | @{입력변수} {타입}, |
| - | -- @{출력변수/ | + | @{출력변수/ |
| - | -- @{입력변수} {타입} READONLY | + | @{입력변수} {타입} READONLY |
| AS | AS | ||
| BEGIN | BEGIN | ||
| SET NOCOUNT ON; | SET NOCOUNT ON; | ||
| + | |||
| + | DECLARE @{변수} {타입}; | ||
| + | |||
| + | /* | ||
| + | 쿼리 작성 (트랜잭션 사용 가능) | ||
| + | */ | ||
| + | END; | ||
| + | GO | ||
| + | |||
| + | -- 수정 | ||
| + | ALTER PROCEDURE {프로시저} | ||
| + | @{입력변수} {타입}, | ||
| + | @{출력변수/ | ||
| + | @{입력변수} {타입} READONLY -- Table-Valued Parameter / MSSQL 2008 이상 | ||
| + | AS | ||
| + | BEGIN | ||
| + | SET NOCOUNT ON; | ||
| + | |||
| + | DECLARE @{변수} {타입}; | ||
| + | |||
| /* | /* | ||
| 쿼리 작성 (트랜잭션 사용 가능) | 쿼리 작성 (트랜잭션 사용 가능) | ||
| 줄 91: | 줄 117: | ||
| -- 생성/ | -- 생성/ | ||
| CREATE OR ALTER PROCEDURE {프로시저} | CREATE OR ALTER PROCEDURE {프로시저} | ||
| - | -- @{입력변수} {타입}, | + | @{입력변수} {타입}, |
| - | -- @{출력변수/ | + | @{출력변수/ |
| - | -- @{입력변수} {타입} READONLY | + | @{입력변수} {타입} READONLY |
| AS | AS | ||
| BEGIN | BEGIN | ||
| SET NOCOUNT ON; | SET NOCOUNT ON; | ||
| + | |||
| + | DECLARE @{변수} {타입}; | ||
| + | |||
| /* | /* | ||
| 쿼리 작성 (트랜잭션 사용 가능) | 쿼리 작성 (트랜잭션 사용 가능) | ||
| 줄 105: | 줄 134: | ||
| -- 삭제 | -- 삭제 | ||
| DROP PROCEDURE IF EXISTS {프로시저}; | DROP PROCEDURE IF EXISTS {프로시저}; | ||
| - | |||
| </ | </ | ||
| ===== Oracle/ | ===== Oracle/ | ||
| - | <sxh sql; gutter: true;> | + | <sxh sql; gutter: true; highlight: [6-7];> |
| /* | /* | ||
| Oracle 8i 이상/ | Oracle 8i 이상/ | ||
| */ | */ | ||
| + | -- 생성 | ||
| + | CREATE PROCEDURE {프로시저} ( | ||
| -- 생성/ | -- 생성/ | ||
| - | CREATE OR REPLACE PROCEDURE {프로시저} ( | + | -- CREATE OR REPLACE PROCEDURE {프로시저} ( |
| - | -- {입력변수} IN {타입}, | + | {입력변수} IN {타입}, -- IN 키워드 생략 가능 |
| - | -- {출력변수} OUT {타입}, | + | {출력변수} OUT {타입}, |
| - | -- {입출력변수} | + | {입출력변수} |
| ) | ) | ||
| IS | AS | IS | AS | ||
| - | -- 변수 | + | {변수} {타입}; |
| BEGIN | BEGIN | ||
| /* | /* | ||
| 줄 139: | 줄 169: | ||
| ===== PostgreSQL ===== | ===== PostgreSQL ===== | ||
| - | <sxh sql; gutter: true;> | + | <sxh sql; gutter: true; highlight: [6-7];> |
| /* | /* | ||
| PostgreSQL 11.0 이상 | PostgreSQL 11.0 이상 | ||
| */ | */ | ||
| + | -- 생성 | ||
| + | CREATE PROCEDURE {프로시저} ( | ||
| -- 생성/ | -- 생성/ | ||
| - | CREATE OR REPLACE PROCEDURE {프로시저}( | + | -- CREATE OR REPLACE PROCEDURE {프로시저} ( |
| - | -- IN {입력변수} {타입}, | + | IN {입력변수} {타입}, -- IN 키워드 생략 가능 |
| - | -- OUT {출력변수} {타입}, | + | OUT {출력변수} {타입}, |
| - | -- INOUT {입출력변수} {타입} | + | INOUT {입출력변수} {타입} |
| ) | ) | ||
| AS $$ | AS $$ | ||
| DECLARE | DECLARE | ||
| - | -- 변수 | + | {변수} {타입}; |
| BEGIN | BEGIN | ||
| /* | /* | ||
| 줄 161: | 줄 193: | ||
| -- 삭제 | -- 삭제 | ||
| DROP PROCEDURE {프로시저}; | DROP PROCEDURE {프로시저}; | ||
| - | |||
| - | /* | ||
| - | PostgreSQL 13.0 이상 | ||
| - | */ | ||
| - | -- 삭제 | ||
| DROP PROCEDURE IF EXISTS {프로시저}; | DROP PROCEDURE IF EXISTS {프로시저}; | ||
| </ | </ | ||