문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
|
기술문서:레퍼런스:쿼리:기본:객체:함수 [2026/01/26 14:52] carlito76 |
기술문서:레퍼런스:쿼리:기본:객체:함수 [2026/01/27 13:58] (현재) carlito76 |
||
|---|---|---|---|
| 줄 11: | 줄 11: | ||
| ===== MySQL/ | ===== MySQL/ | ||
| - | <sxh sql; gutter: true; highlight: [42];> | + | <sxh sql; gutter: true; highlight: [41-42];> |
| /* | /* | ||
| MySQL 5.0.2 이상/ | MySQL 5.0.2 이상/ | ||
| 줄 28: | 줄 28: | ||
| /* | /* | ||
| - | 쿼리 작성 (트랜잭션 사용 | + | 쿼리 작성 (트랜잭션 사용 |
| */ | */ | ||
| 줄 63: | 줄 63: | ||
| /* | /* | ||
| - | 쿼리 작성 (트랜잭션 사용 | + | 쿼리 작성 (트랜잭션 사용 |
| */ | */ | ||
| 줄 75: | 줄 75: | ||
| ===== MSSQL ===== | ===== MSSQL ===== | ||
| - | <sxh sql; gutter: true;> | + | <sxh sql; gutter: true; highlight: [44-45];> |
| /* | /* | ||
| MSSQL 2000 이상 | MSSQL 2000 이상 | ||
| 줄 83: | 줄 83: | ||
| @{입력변수} {타입} | @{입력변수} {타입} | ||
| ) | ) | ||
| - | RETURNS {리턴 타입} | + | RETURNS {리턴 타입} |
| - | AS | + | BEGIN |
| + | DECLARE @{변수} {타입}; | ||
| + | |||
| + | /* | ||
| + | 쿼리 작성 (트랜잭션 사용 제약) | ||
| + | */ | ||
| + | |||
| + | RETURN {리턴 값}; | ||
| + | -- RETURN @{변수}; | ||
| + | END; | ||
| + | GO | ||
| + | |||
| + | -- 수정 | ||
| + | ALTER FUNCTION {함수}( | ||
| + | @{입력변수} {타입} | ||
| + | ) | ||
| + | RETURNS {리턴 타입} | ||
| BEGIN | BEGIN | ||
| DECLARE @{변수} {타입}; | DECLARE @{변수} {타입}; | ||
| /* | /* | ||
| - | 쿼리 작성 (트랜잭션 사용 | + | 쿼리 작성 (트랜잭션 사용 |
| */ | */ | ||
| 줄 107: | 줄 123: | ||
| @{입력변수} {타입} | @{입력변수} {타입} | ||
| ) | ) | ||
| - | RETURNS {리턴 타입} | + | RETURNS {리턴 타입} AS |
| - | AS | + | |
| BEGIN | BEGIN | ||
| DECLARE @{변수} {타입}; | DECLARE @{변수} {타입}; | ||
| /* | /* | ||
| - | 쿼리 작성 (트랜잭션 사용 | + | 쿼리 작성 (트랜잭션 사용 |
| */ | */ | ||
| 줄 126: | 줄 141: | ||
| ===== Oracle/ | ===== Oracle/ | ||
| - | <sxh sql; gutter: true;> | + | <sxh sql; gutter: true; highlight: [6-7];> |
| /* | /* | ||
| Oracle 8i 이상/ | Oracle 8i 이상/ | ||
| */ | */ | ||
| + | -- 생성 | ||
| + | CREATE FUNCTION {함수} ( | ||
| -- 생성/ | -- 생성/ | ||
| - | CREATE OR REPLACE FUNCTION {함수} ( | + | -- CREATE OR REPLACE FUNCTION {함수} ( |
| {입력변수} IN {타입} -- IN 키워드 생략 가능 | {입력변수} IN {타입} -- IN 키워드 생략 가능 | ||
| ) | ) | ||
| - | RETURN {리턴 타입} | + | RETURN {리턴 타입} |
| - | AS | + | |
| {변수} {타입}; | {변수} {타입}; | ||
| BEGIN | BEGIN | ||
| /* | /* | ||
| - | 쿼리 작성 (트랜잭션 사용 | + | 쿼리 작성 (트랜잭션 사용 |
| */ | */ | ||
| 줄 158: | 줄 174: | ||
| ===== PostgreSQL ===== | ===== PostgreSQL ===== | ||
| - | <sxh sql; gutter: true; highlight: [9, 20, 30, 41];> | + | <sxh sql; gutter: true; highlight: [6-7, 10, 21, 31-32, 35, 46];> |
| /* | /* | ||
| PostgreSQL 7.3 이상 (Single Quote 방식) | PostgreSQL 7.3 이상 (Single Quote 방식) | ||
| */ | */ | ||
| + | -- 생성 | ||
| + | CREATE FUNCTION {함수} ( | ||
| -- 생성/ | -- 생성/ | ||
| - | CREATE OR REPLACE FUNCTION {함수}( | + | -- CREATE OR REPLACE FUNCTION {함수}( |
| IN {입력변수} {타입} -- IN 키워드 생략 가능 | IN {입력변수} {타입} -- IN 키워드 생략 가능 | ||
| ) | ) | ||
| - | RETURNS {리턴 타입} | + | RETURNS {리턴 타입} AS ' |
| - | AS ' | + | |
| DECLARE | DECLARE | ||
| {변수} {타입}; | {변수} {타입}; | ||
| BEGIN | BEGIN | ||
| /* | /* | ||
| - | 쿼리 작성 (트랜잭션 사용 | + | 쿼리 작성 (트랜잭션 사용 |
| */ | */ | ||
| 줄 179: | 줄 196: | ||
| END; | END; | ||
| ' LANGUAGE plpgsql; | ' LANGUAGE plpgsql; | ||
| + | |||
| + | -- 삭제 | ||
| + | DROP FUNCTION {함수}; | ||
| /* | /* | ||
| PostgreSQL 8.0 이상 (Dollar Quoting 방식) | PostgreSQL 8.0 이상 (Dollar Quoting 방식) | ||
| */ | */ | ||
| + | -- 생성 | ||
| + | CREATE FUNCTION {함수} ( | ||
| -- 생성/ | -- 생성/ | ||
| - | CREATE OR REPLACE FUNCTION {함수}( | + | -- CREATE OR REPLACE FUNCTION {함수}( |
| IN {입력변수} {타입} -- IN 키워드 생략 가능 | IN {입력변수} {타입} -- IN 키워드 생략 가능 | ||
| ) | ) | ||
| - | RETURNS {리턴 타입} | + | RETURNS {리턴 타입} AS $$ |
| - | AS $$ | + | |
| DECLARE | DECLARE | ||
| {변수} {타입}; | {변수} {타입}; | ||
| BEGIN | BEGIN | ||
| /* | /* | ||
| - | 쿼리 작성 (트랜잭션 사용 | + | 쿼리 작성 (트랜잭션 사용 |
| */ | */ | ||
| 줄 200: | 줄 221: | ||
| END; | END; | ||
| $$ LANGUAGE plpgsql; | $$ LANGUAGE plpgsql; | ||
| - | |||
| - | -- 삭제 | ||
| - | DROP FUNCTION {함수}; | ||
| /* | /* | ||