문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
|
기술문서:레퍼런스:쿼리:기본:객체:프로시저 [2026/01/26 13:28] carlito76 |
기술문서:레퍼런스:쿼리:기본:객체:프로시저 [2026/01/27 12:09] (현재) carlito76 |
||
|---|---|---|---|
| 줄 11: | 줄 11: | ||
| ===== MySQL/ | ===== MySQL/ | ||
| - | <sxh sql; gutter: true; highlight: [37];> | + | <sxh sql; gutter: true; highlight: [38-39];> |
| /* | /* | ||
| MySQL 5.0.1 이상/ | MySQL 5.0.1 이상/ | ||
| 줄 19: | 줄 19: | ||
| -- 생성 | -- 생성 | ||
| 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 {변수} {타입}; | ||
| + | |||
| /* | /* | ||
| 쿼리 작성 (트랜잭션 사용 가능) | 쿼리 작성 (트랜잭션 사용 가능) | ||
| 줄 49: | 줄 51: | ||
| -- 생성/ | -- 생성/ | ||
| 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: | 줄 69: | ||
| ===== 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: | 줄 115: | ||
| -- 생성/ | -- 생성/ | ||
| CREATE OR ALTER PROCEDURE {프로시저} | CREATE OR ALTER PROCEDURE {프로시저} | ||
| - | -- @{입력변수} {타입}, | + | @{입력변수} {타입}, |
| - | -- @{출력변수/ | + | @{출력변수/ |
| - | -- @{입력변수} {타입} READONLY | + | @{입력변수} {타입} READONLY |
| AS | AS | ||
| BEGIN | BEGIN | ||
| SET NOCOUNT ON; | SET NOCOUNT ON; | ||
| + | |||
| + | DECLARE @{변수} {타입}; | ||
| + | |||
| /* | /* | ||
| 쿼리 작성 (트랜잭션 사용 가능) | 쿼리 작성 (트랜잭션 사용 가능) | ||
| 줄 105: | 줄 132: | ||
| -- 삭제 | -- 삭제 | ||
| 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: | 줄 167: | ||
| ===== 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: | 줄 191: | ||
| -- 삭제 | -- 삭제 | ||
| DROP PROCEDURE {프로시저}; | DROP PROCEDURE {프로시저}; | ||
| - | |||
| - | /* | ||
| - | PostgreSQL 13.0 이상 | ||
| - | */ | ||
| - | -- 삭제 | ||
| DROP PROCEDURE IF EXISTS {프로시저}; | DROP PROCEDURE IF EXISTS {프로시저}; | ||
| </ | </ | ||