사용자 도구

사이트 도구


기술문서:레퍼런스:쿼리:기본:객체:프로시저

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
기술문서:레퍼런스:쿼리:기본:객체:프로시저 [2026/01/26 13:28]
carlito76
기술문서:레퍼런스:쿼리:기본:객체:프로시저 [2026/01/27 12:09] (현재)
carlito76
줄 11: 줄 11:
  
 ===== MySQL/MariaDB ===== ===== MySQL/MariaDB =====
-<sxh sql; gutter: true; highlight: [37];>+<sxh sql; gutter: true; highlight: [38-39];>
 /* /*
  MySQL 5.0.1 이상/MariaDB 5.1 이상  MySQL 5.0.1 이상/MariaDB 5.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 2000 이상+ MSSQL 7.0 이상
 */ */
 -- 생성 -- 생성
 CREATE PROCEDURE {프로시저} CREATE PROCEDURE {프로시저}
- -- @{입력변수} {타입}, + @{입력변수} {타입}, 
- -- @{출력변수/입출력변수} {타입} OUTPUT, + @{출력변수/입출력변수} {타입} OUTPUT, 
- -- @{입력변수} {타입} READONLY+ @{입력변수} {타입} READONLY -- Table-Valued Parameter / MSSQL 2008 이상
 AS AS
 BEGIN BEGIN
  SET NOCOUNT ON;  SET NOCOUNT ON;
 +
 + DECLARE @{변수} {타입};
 +
 + /*
 + 쿼리 작성 (트랜잭션 사용 가능)
 + */
 +END;
 +GO
 +
 +-- 수정
 +ALTER PROCEDURE {프로시저}
 + @{입력변수} {타입},
 + @{출력변수/입출력변수} {타입} OUTPUT,
 + @{입력변수} {타입} READONLY -- Table-Valued Parameter / MSSQL 2008 이상
 +AS
 +BEGIN
 + SET NOCOUNT ON;
 +
 + DECLARE @{변수} {타입};
 +
  /*  /*
  쿼리 작성 (트랜잭션 사용 가능)  쿼리 작성 (트랜잭션 사용 가능)
줄 91: 줄 115:
 -- 생성/수정 -- 생성/수정
 CREATE OR ALTER PROCEDURE {프로시저} CREATE OR ALTER PROCEDURE {프로시저}
- -- @{입력변수} {타입}, + @{입력변수} {타입}, 
- -- @{출력변수/입출력변수} {타입} OUTPUT, + @{출력변수/입출력변수} {타입} OUTPUT, 
- -- @{입력변수} {타입} READONLY+ @{입력변수} {타입} READONLY -- Table-Valued Parameter
 AS AS
 BEGIN BEGIN
  SET NOCOUNT ON;  SET NOCOUNT ON;
 +
 + DECLARE @{변수} {타입};
 +
  /*  /*
  쿼리 작성 (트랜잭션 사용 가능)  쿼리 작성 (트랜잭션 사용 가능)
줄 105: 줄 132:
 -- 삭제 -- 삭제
 DROP PROCEDURE IF EXISTS {프로시저}; DROP PROCEDURE IF EXISTS {프로시저};
- 
 </sxh> </sxh>
  
 ===== Oracle/Tibero ===== ===== Oracle/Tibero =====
-<sxh sql; gutter: true;>+<sxh sql; gutter: true; highlight: [6-7];>
 /* /*
  Oracle 8i 이상/Tibero 5 이상  Oracle 8i 이상/Tibero 5 이상
 */ */
 +-- 생성
 +CREATE PROCEDURE {프로시저} (
 -- 생성/수정 -- 생성/수정
-CREATE OR REPLACE PROCEDURE {프로시저} ( +-- CREATE OR REPLACE PROCEDURE {프로시저} ( 
- -- {입력변수} IN {타입}, + {입력변수} IN {타입}, -- IN 키워드 생략 가능 
- -- {출력변수} OUT {타입}, + {출력변수} OUT {타입}, 
- -- {입출력변수} INOUT {타입}+ {입출력변수} IN 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 {프로시저};
 </sxh> </sxh>