Top 32 프로 시저 Quick Answer

You are looking for information, articles, knowledge about the topic nail salons open on sunday near me 프로 시저 on Google, you do not find the information you need! Here are the best content compiled and compiled by the https://toplist.maxfit.vn team, along with other related topics such as: 프로 시저 프로시저란, 프로시저 호출, mysql 프로시저, 프로시저 생성, mssql 프로시저, 프로시저 문법, 프로시저 공부, 프로시저 예제

데이터베이스에 대한 일련의 작업을 정리한 절차를 관계형 데이터베이스 관리 시스템에 저장한 것으로 영구저장모듈(Persistent Storage Module)이라고도 불립니다. 보통 저장 프로시저를 프로시저라고 부르며, 일련의 쿼리를 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합입니다.


오라클 PL/SQL 강좌#5 : PL/SQL 프로시저, 이론 및 실습_PLSQL교육(오라클교육/SQL교육/오라클동영상/SQL동영상/오라클강의/SQL강의/오라클강좌/SQL강좌)
오라클 PL/SQL 강좌#5 : PL/SQL 프로시저, 이론 및 실습_PLSQL교육(오라클교육/SQL교육/오라클동영상/SQL동영상/오라클강의/SQL강의/오라클강좌/SQL강좌)


[Oracle] 프로시저(Procedure)란? (feat. C.R.U.D)

  • Article author: fomaios.tistory.com
  • Reviews from users: 23653 ⭐ Ratings
  • Top rated: 3.3 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [Oracle] 프로시저(Procedure)란? (feat. C.R.U.D) Updating …
  • Most searched keywords: Whether you are looking for [Oracle] 프로시저(Procedure)란? (feat. C.R.U.D) Updating 안녕하세요 Foma 💻 입니다! 오늘은 여러 작업을 한번에 실행할 수 있는 프로시저에 대해서 알아보도록 하겠습니다. 바로 시작할게요~ 프로시저(Procedure)란? 데이터베이스에 대한 일련의 작업을 정리한 절..
  • Table of Contents:

프로시저(Procedure)란

장점

단점

생성

조회

수정

삭제

태그

관련글

댓글0

공지사항

최근글

인기글

Facebook

태그

Total

티스토리툴바

[Oracle] 프로시저(Procedure)란? (feat. C.R.U.D)
[Oracle] 프로시저(Procedure)란? (feat. C.R.U.D)

Read More

[PL/SQL] 프로시저(PROCEDURE) — 논리적 코딩

  • Article author: logical-code.tistory.com
  • Reviews from users: 2336 ⭐ Ratings
  • Top rated: 3.6 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [PL/SQL] 프로시저(PROCEDURE) — 논리적 코딩 프로시저(PROCEDURE) … 특정한 로직을 처리하기만 하고 결과 값을 반환하지 않는 서브 프로그램이다. 테이블에서 데이터를 추출해 조작하고 그 결과를 … …
  • Most searched keywords: Whether you are looking for [PL/SQL] 프로시저(PROCEDURE) — 논리적 코딩 프로시저(PROCEDURE) … 특정한 로직을 처리하기만 하고 결과 값을 반환하지 않는 서브 프로그램이다. 테이블에서 데이터를 추출해 조작하고 그 결과를 … 프로시저(PROCEDURE) 특정한 로직을 처리하기만 하고 결과 값을 반환하지 않는 서브 프로그램이다. 테이블에서 데이터를 추출해 조작하고 그 결과를 다른 테이블에 다시 저장하거나 갱신하는 일련의 처리를 할 때..
  • Table of Contents:

블로그 메뉴

인기 글

최근 글

생성

실행

매개변수

RETURN문

티스토리툴바

[PL/SQL] 프로시저(PROCEDURE) — 논리적 코딩
[PL/SQL] 프로시저(PROCEDURE) — 논리적 코딩

Read More

[ Oracle ] 프로시저와 함수의 차이 — 애송이의 코딩이야기

  • Article author: mjn5027.tistory.com
  • Reviews from users: 27394 ⭐ Ratings
  • Top rated: 3.5 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [ Oracle ] 프로시저와 함수의 차이 — 애송이의 코딩이야기 프로시저(Procedure)란? … 넓은 의미로는 어떤 업무를 수행하기 위한 절차를 뜻한다. … 위 처럼 어떤 프로세스를 절차적으로 기술해 놓은 것을 프로시저라 … …
  • Most searched keywords: Whether you are looking for [ Oracle ] 프로시저와 함수의 차이 — 애송이의 코딩이야기 프로시저(Procedure)란? … 넓은 의미로는 어떤 업무를 수행하기 위한 절차를 뜻한다. … 위 처럼 어떤 프로세스를 절차적으로 기술해 놓은 것을 프로시저라 … 오라클을 사용하다보면 자주 접하게 되는 프로시저와 함수. ​ 이 둘의 정의와 차이점에 대해 알아보자. 프로시저(Procedure)란? 넓은 의미로는 어떤 업무를 수행하기 위한 절차를 뜻한다. ​ 예를 들어 쇼핑몰에..리액트,리엑트,react,redux,saga,java,자바,설치,데이터베이스,오라클,sql,oracle,리덕스,리듀서,리덕스툴킷,redux,toolkit,database
  • Table of Contents:

블로그 메뉴

인기 글

태그

티스토리

프로시저(Procedure)란

함수(Function)란

그렇다면 프로시저와 함수는 무슨 차이가 있는가

티스토리툴바

[ Oracle ] 프로시저와 함수의 차이 — 애송이의 코딩이야기
[ Oracle ] 프로시저와 함수의 차이 — 애송이의 코딩이야기

Read More

저장 프로시저 – 위키백과, 우리 모두의 백과사전

  • Article author: ko.wikipedia.org
  • Reviews from users: 30493 ⭐ Ratings
  • Top rated: 3.8 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 저장 프로시저 – 위키백과, 우리 모두의 백과사전 저장 프로시저 또는 스토어드 프로시저(stored procedure)는 일련의 쿼리를 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합이다. 데이터베이스에 대한 일련의 작업을 … …
  • Most searched keywords: Whether you are looking for 저장 프로시저 – 위키백과, 우리 모두의 백과사전 저장 프로시저 또는 스토어드 프로시저(stored procedure)는 일련의 쿼리를 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합이다. 데이터베이스에 대한 일련의 작업을 …
  • Table of Contents:

개요[편집]

DBMS별 예제[편집]

외부 링크[편집]

저장 프로시저 - 위키백과, 우리 모두의 백과사전
저장 프로시저 – 위키백과, 우리 모두의 백과사전

Read More

오라클 PL/SQL 프로시저(Procedure) 특징 및 예제

  • Article author: hoon93.tistory.com
  • Reviews from users: 42607 ⭐ Ratings
  • Top rated: 3.9 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 오라클 PL/SQL 프로시저(Procedure) 특징 및 예제 개발자가 자주 실행해야하는 특정 작업을 필요할 때 호출하기위해 절차적인 언어를 이용하여 작성한 이름이 있는 프로그램 모듈(Block)을 의미한다. …
  • Most searched keywords: Whether you are looking for 오라클 PL/SQL 프로시저(Procedure) 특징 및 예제 개발자가 자주 실행해야하는 특정 작업을 필요할 때 호출하기위해 절차적인 언어를 이용하여 작성한 이름이 있는 프로그램 모듈(Block)을 의미한다. 프로시저(Procedure)의 특징 개발자가 자주 실행해야하는 특정 작업을 필요할 때 호출하기위해 절차적인 언어를 이용하여 작성한 이름이 있는 프로그램 모듈(Block)을 의미한다. – 매개 변수를 받을 수 있는 PL/S..
  • Table of Contents:
오라클 PL/SQL 프로시저(Procedure) 특징 및 예제
오라클 PL/SQL 프로시저(Procedure) 특징 및 예제

Read More

[Oracle] PL/SQL 기초4 – 프로시저(Procedure)

  • Article author: goddaehee.tistory.com
  • Reviews from users: 28731 ⭐ Ratings
  • Top rated: 4.9 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [Oracle] PL/SQL 기초4 – 프로시저(Procedure) [Oracle] PL/SQL 기초4 – 프로시저 (Procedure). 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ Stored Procedure ] 입니다. : ). 저장 프로시저 … …
  • Most searched keywords: Whether you are looking for [Oracle] PL/SQL 기초4 – 프로시저(Procedure) [Oracle] PL/SQL 기초4 – 프로시저 (Procedure). 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ Stored Procedure ] 입니다. : ). 저장 프로시저 … [Oracle] PL/SQL 기초4 – 프로시저 (Procedure) 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ Stored Procedure ] 입니다. : ) 저장 프로시저 (STORED PROCEDURE) [정의]  – Transact-SQL 문장의 집합 [용도..
  • Table of Contents:

태그

관련글

댓글6

공지사항

최근글

인기글

최근댓글

태그

전체 방문자

티스토리툴바

[Oracle] PL/SQL 기초4 - 프로시저(Procedure)
[Oracle] PL/SQL 기초4 – 프로시저(Procedure)

Read More

프로시저 (Procedure)

  • Article author: tragramming.tistory.com
  • Reviews from users: 37038 ⭐ Ratings
  • Top rated: 3.9 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 프로시저 (Procedure) 프로시저란 ‘일정한 순서에 따라 작업을 진행하는 Block’을의미한다. 각각의 프로시저는 고유한 명칭을 가지는데, 이런 점에서도 ‘익명 블록’의 특징 … …
  • Most searched keywords: Whether you are looking for 프로시저 (Procedure) 프로시저란 ‘일정한 순서에 따라 작업을 진행하는 Block’을의미한다. 각각의 프로시저는 고유한 명칭을 가지는데, 이런 점에서도 ‘익명 블록’의 특징 … 지난 PL/SQL 입문 포스팅에 이어 Procedure(프로시저)에 대해 알아보고자 한다. Oracle PL/SQL의 Block 종류에는 크게 3가지로, Anonymous Block(익명 블록), Procedure(프로시저), Function(함수)로 나뉜다. 그..
  • Table of Contents:

여행을 개발하다

프로시저 (Procedure) 본문

티스토리툴바

프로시저 (Procedure)
프로시저 (Procedure)

Read More

[DB] Procedure 프로시저 개요 및 장단점

  • Article author: runcoding.tistory.com
  • Reviews from users: 14156 ⭐ Ratings
  • Top rated: 4.2 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [DB] Procedure 프로시저 개요 및 장단점 저장 프로시저 (Stored Procedure) … 프로시저란 SQL Server에서 제공하는 프로그래밍 기능입니다. 쿼리문을 마치 하나의 메서드 형식으로 만들고 어떠한 … …
  • Most searched keywords: Whether you are looking for [DB] Procedure 프로시저 개요 및 장단점 저장 프로시저 (Stored Procedure) … 프로시저란 SQL Server에서 제공하는 프로그래밍 기능입니다. 쿼리문을 마치 하나의 메서드 형식으로 만들고 어떠한 … 저장 프로시저 (Stored Procedure) 프로시저란 SQL Server에서 제공하는 프로그래밍 기능입니다. 쿼리문을 마치 하나의 메서드 형식으로 만들고 어떠한 동작을 일괄적으로 처리하는 용도로 사용됩니다. 여러 개의..
  • Table of Contents:

태그

‘DB’ Related Articles

최근 포스트

태그

검색

티스토리툴바

[DB] Procedure 프로시저 개요 및 장단점
[DB] Procedure 프로시저 개요 및 장단점

Read More


See more articles in the same category here: 89+ tips for you.

[Oracle] 프로시저(Procedure)란? (feat. C.R.U.D)

728×90

반응형

안녕하세요 Foma 💻 입니다!

오늘은 여러 작업을 한번에 실행할 수 있는 프로시저에 대해서 알아보도록 하겠습니다.

바로 시작할게요~

프로시저(Procedure)란?

데이터베이스에 대한 일련의 작업을 정리한 절차를 관계형 데이터베이스 관리 시스템에 저장한 것으로 영구저장모듈(Persistent Storage Module)이라고도 불립니다.

보통 저장 프로시저를 프로시저라고 부르며, 일련의 쿼리를 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합입니다.

즉, 특정 작업을 위한 쿼리들의 블록입니다.

(거의 함수와 비슷합니다. 차이점은 여기 에서 확인하시면 됩니다.)

장점

하나의 요청으로 여러 SQL문을 실행시킬 수 있습니다. (네트워크 부하를 줄일 수 있음)

네트워크 소요 시간을 줄여 성능을 개선할 수 있습니다.

여러 어플리케이션과 공유가 가능합니다. (API처럼 제공가능)

기능 변경이 편합니다. (특정 기능을 변경할 때 프로시저만 변경하면 됨)

단점

문자나 숫자열 연산에 사용하면 오히려 C,Java보다 느린 성능을 보일 수 있습니다.

유지보수가 어렵습니다.(프로시져가 앱의 어디에 사용되는지 확인이 어려움)

생성

CREATE OR REPLACE PROCEDURE 프로시져이름 (파라미터1,파라미터2…); IS 변수 BEGIN 쿼리문 END 프로시져 이름;

소환사의 티어를 알아내는 프로시저

CREATE OR REPLACE PROCEDURE GET_TIER(in_name IN VARCHAR2,out_tier OUT VARCHAR2) IS BEGIN SELECT TIER INTO out_tier FROM SUMMONER_TB WHERE NAME = in_name; EXCEPTION –소환사를 찾을 수 없을 때 WEHN NO_DATA_FOUND THEN out_tier:=’NO_SUMMONER_FOUND’; END GET_TIER;

파라미터 값은 in,out,inout으로 총 세가지 종류로 작성할 수 있습니다.

먼저 in은 전달될 데이터이고, out은 결과로 나갈 데이터, in out in과 out 모두 가능한 데이터를 뜻합니다.

아래와 같이 프로시저가 생성된 걸 볼 수 있습니다.

조회

DECLARE 출력될 변수 선언 실행할 프로시저 출력문(Optional) END

faker의 티어를 출력하는 프로시저

DECLARE out_tier VARCHAR2(10); BEGIN get_tier(‘faker’,out_tier); DBMS_OUTPUT.PUT_LINE(out_tier); END; — C1

수정

수정은 create or replace 구문을 사용하면 해당 프로시저명이 있다면 수정, 없다면 생성되게 됩니다.

CREATE OR REPLACE PROCEDURE GET_TIER(in_name IN VARCHAR2,out_tier OUT VARCHAR2) IS BEGIN SELECT NAME INTO out_tier FROM SUMMONER_TB WHERE NAME = in_name; EXCEPTION WHEN NO_DATA_FOUND THEN out_tier:=’NO_DATA_FOUND’; END get_tier;

삭제

DROP PROCEDURE 프로시저명;

GET_TIER 프로시저를 삭제할 때 아래와 같이 작성하면 됩니다.

DROP PROCEDURE GET_TIER;

728×90

반응형

[PL/SQL] 프로시저(PROCEDURE)

프로시저(PROCEDURE)

특정한 로직을 처리하기만 하고 결과 값을 반환하지 않는 서브 프로그램이다.

테이블에서 데이터를 추출해 조작하고 그 결과를 다른 테이블에 다시 저장하거나 갱신하는 일련의 처리를 할 때 주로 프로시저를 사용한다.

생성

1 2 3 4 5 6 7 8 9 10 11 12 13 CREATE OR REPLACE PROCEDURE 프로시저명 (매개변수명1 [ IN | OUT | IN OUT] 데이터타입 [: = 디폴트값] ,매개변수명2 [ IN | OUT | IN OUT] 데이터타입 [: = 디폴트값] … ) IS [ AS ] 변수, 상수 등 선언 BEGIN 실행부 [EXCEPTION 예외처리부] END [프로시저명]; Colored by Color Scripter cs

매개변수

IN은 입력, OUT은 출력, IN OUT은 입출력을 동시에 한다는 의미이다.

디폴트값은 IN이다.

OUT매개변수는 프로시저 내에서 로직 처리 후, 해당 매개변수에 값을 할당해 프로시저 호출부분에서 이 값을 참조할 수 있다.

1 2 3 4 5 6 7 8 9 10 11 12 13 CREATE OR REPLACE PROCEDURE MY_NEW_JOB_PROC ( P_JOB_ID IN JOBS.JOB_ID% TYPE , P_JOB_TITLE IN JOBS.JOB_TITLE% TYPE , P_MIN_SAL IN JOBS.MIN_SALARY% TYPE , P_MAX_SAL IN JOBS.MAX_SALARY% TYPE ) IS BEGIN INSERT INTO JOBS (JOB_ID, JOB_TITLE, MIN_SALARY, MAX_SALARY, CREATE_DATE, UPDATE_DATE) VALUES (P_JOB_ID, P_JOB_TITLE, P_MIN_SAL, P_MAX_SAL, SYSDATE , SYSDATE ); COMMIT ; END ; Colored by Color Scripter cs

실행결과

접기 접기

실행

프로시저는 반환값이 없으므로 함수처럼 SELECT절에는 사용할 수 없다.

1 EXEC( EXECUTE ) 프로시저명(매개변수1값, 매개변수2값, …); cs

1 EXEC MY_NEW_JOB_PROC( ‘SM_JOB1’ , ‘SAMPLE JOB1’ , 1000 , 5000 ); cs

실행결과

접기

1 2 3 SELECT * FROM JOBS WHERE JOB_ID = ‘SM_JOB1’ ; cs

접기

동일한 JOB_ID가 들어오면 신규 INSERT 대신 다른 정보를 갱신하는 프로시저를 만들어보자.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 CREATE OR REPLACE PROCEDURE MY_NEW_JOB_PROC ( P_JOB_ID IN JOBS.JOB_ID% TYPE , P_JOB_TITLE IN JOBS.JOB_TITLE% TYPE , P_MIN_SAL IN JOBS.MIN_SALARY% TYPE , P_MAX_SAL IN JOBS.MAX_SALARY% TYPE ) IS VN_CNT NUMBER : = 0 ; BEGIN SELECT COUNT ( * ) INTO VN_CNT FROM JOBS WHERE JOB_ID = P_JOB_ID; IF VN_CNT > 0 THEN UPDATE JOBS SET JOB_TITLE = P_JOB_TITLE, MIN_SALARY = P_MIN_SAL, MAX_SALARY = P_MAX_SAL, UPDATE_DATE = SYSDATE WHERE JOB_ID = P_JOB_ID; ELSE INSERT INTO JOBS (JOB_ID, JOB_TITLE, MIN_SALARY, MAX_SALARY, CREATE_DATE, UPDATE_DATE) VALUES (P_JOB_ID, P_JOB_TITLE, P_MIN_SAL, P_MAX_SAL, SYSDATE , SYSDATE ); END IF ; COMMIT ; END ; Colored by Color Scripter cs

실행결과

접기 접기

1 EXEC MY_NEW_JOB_PROC( ‘SM_JOB1’ , ‘SAMPLE JOB1’ , 2000 , 6000 ); cs

실행결과

접기 접기

1 2 3 SELECT * FROM JOBS WHERE JOB_ID = ‘SM_JOB1’ ; cs

실행결과

접기 접기

매개변수

입력값 매핑

프로시저의 매개변수가 많으면 실행할 때 매개변수 값의 개수나 순서를 혼동할 여지가 많다.

이런 경우에는 다음과 같은 형태로 매개변수와 입력값을 매핑해 실행하면 편리하다.

1 2 EXEC 프로시저명 (매개변수1 = > 매개변수1 값, 매개변수2 = > 매개변수2 값, …); cs

1 2 3 4 EXECUTE MY_NEW_JOB_PROC (P_JOB_ID = > ‘SM_JOB1’ , P_JOB_TITLE = > ‘SAMPLE JOB1’ , P_MIN_SAL = > 2000 , P_MAX_SAL = > 7000 ); cs

디폴트값 설정

매개변수에 디폴트 값을 설정하면 프로시저 실행시 해당 매개변수에 값을 넣지 않아도된다.

디폴트값은 IN 매개변수에만 사용할 수 있다.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 CREATE OR REPLACE PROCEDURE MY_NEW_JOB_PROC ( P_JOB_ID IN JOBS.JOB_ID% TYPE , P_JOB_TITLE IN JOBS.JOB_TITLE% TYPE , P_MIN_SAL IN JOBS.MIN_SALARY% TYPE : = 10 , P_MAX_SAL IN JOBS.MAX_SALARY% TYPE : = 100 ) IS VN_CNT NUMBER : = 0 ; BEGIN SELECT COUNT ( * ) INTO VN_CNT FROM JOBS WHERE JOB_ID = P_JOB_ID; IF VN_CNT > 0 THEN UPDATE JOBS SET JOB_TITLE = P_JOB_TITLE, MIN_SALARY = P_MIN_SAL, MAX_SALARY = P_MAX_SAL, UPDATE_DATE = SYSDATE WHERE JOB_ID = P_JOB_ID; ELSE INSERT INTO JOBS (JOB_ID, JOB_TITLE, MIN_SALARY, MAX_SALARY, CREATE_DATE, UPDATE_DATE) VALUES (P_JOB_ID, P_JOB_TITLE, P_MIN_SAL, P_MAX_SAL, SYSDATE , SYSDATE ); END IF ; COMMIT ; END ; EXEC MY_NEW_JOB_PROC( ‘SM_JOB1’ , ‘SAMPLE JOB1’ ); SELECT * FROM JOBS WHERE JOB_ID = ‘SM_JOB1’ ; Colored by Color Scripter cs

실행결과

접기 접기

OUT 매개변수

프로시저 실행 시 점에 OUT 매개변수를 변수 형태를 전달하고, 프로시저 실행부에서 이 매개변수에 특정 값을 할당한다.

실행이 끝나면 전달한 변수를 참조해 값을 가져올 수 있다.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 CREATE OR REPLACE PROCEDURE MY_NEW_JOB_PROC ( P_JOB_ID IN JOBS.JOB_ID% TYPE , P_JOB_TITLE IN JOBS.JOB_TITLE% TYPE , P_MIN_SAL IN JOBS.MIN_SALARY% TYPE : = 10 , P_MAX_SAL IN JOBS.MAX_SALARY% TYPE : = 100 , P_UPDATE_DATE OUT JOBS.UPDATE_DATE% TYPE ) IS VN_CNT NUMBER : = 0 ; VN_CUR_DATE JOBS.UPDATE_DATE% TYPE : = SYSDATE ; BEGIN SELECT COUNT ( * ) INTO VN_CNT FROM JOBS WHERE JOB_ID = P_JOB_ID; IF VN_CNT > 0 THEN UPDATE JOBS SET JOB_TITLE = P_JOB_TITLE, MIN_SALARY = P_MIN_SAL, MAX_SALARY = P_MAX_SAL, UPDATE_DATE = VN_CUR_DATE WHERE JOB_ID = P_JOB_ID; ELSE INSERT INTO JOBS (JOB_ID, JOB_TITLE, MIN_SALARY, MAX_SALARY, CREATE_DATE, UPDATE_DATE) VALUES (P_JOB_ID, P_JOB_TITLE, P_MIN_SAL, P_MAX_SAL, SYSDATE , SYSDATE ); END IF ; P_UPDATE_DATE : = VN_CUR_DATE; COMMIT ; END ; DECLARE VD_CUR_DATE JOBS.UPDATE_DATE% TYPE ; BEGIN MY_NEW_JOB_PROC ( ‘SM_JOB1’ , ‘SAMPLE JOB1’ , 2000 , 6000 , VD_CUR_DATE); DBMS_OUTPUT.PUT_LINE(VD_CUR_DATE); END ; Colored by Color Scripter cs

실행결과

접기 접기

IN OUT 매개변수

입력과 동시에 출력용으로 사용할 수 있다.

프로시저 실행시 OUT 매개변수에 전달할 변수에 값을 할당해서 넘겨줄 수 있지만 의미없다.

왜냐하면 OUT 매개변수는 프로시저가 성공적으로 실행을 완료할 때까지 값이 할당되지 않기때문이다.

그러므로 매개변수에 값을 전달해서 사용한 다음 다시 이 매개변수에 값을 받아와 참조하고싶다면 IN OUT 매개변수를 이용해야한다.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 CREATE OR REPLACE PROCEDURE MY_PARAMETER_TEST_PROC ( P_VAR1 VARCHAR2 , P_VAR2 OUT VARCHAR2 , P_VAR3 IN OUT VARCHAR2 ) IS BEGIN DBMS_OUTPUT.PUT_LINE( ‘P_VAR1 VALUE=’ | | P_VAR1); DBMS_OUTPUT.PUT_LINE( ‘P_VAR2 VALUE=’ | | P_VAR2); DBMS_OUTPUT.PUT_LINE( ‘P_VAR3 VALUE=’ | | P_VAR3); P_VAR2 : = ‘B2’ ; P_VAR3 : = ‘C2’ ; END ; DECLARE V_VAR1 VARCHAR2 ( 10 ) : = ‘A’ ; V_VAR2 VARCHAR2 ( 10 ) : = ‘B’ ; V_VAR3 VARCHAR2 ( 10 ) : = ‘C’ ; BEGIN MY_PARAMETER_TEST_PROC(V_VAR1, V_VAR2, V_VAR3); DBMS_OUTPUT.PUT_LINE( ‘V_VAR2 VALUE=’ | | V_VAR2); DBMS_OUTPUT.PUT_LINE( ‘V_VAR3 VALUE=’ | | V_VAR3); END ; Colored by Color Scripter cs

실행결과

접기 접기

키포인트

IN 매개변수는 참조만 가능하면 값을 할당할 수 없다

OUT 매개변수에 값을 전달할 수는 있지만 의미는 없다.

OUT, IN OUT 매개변수에는 디폴트값을 설정할수 없다.

IN 매개변수에는 변수나 상수, 각 데이터 유형에 따른 값을 전달할 수 있지만 OUT, IN OUT 매개변수를 전달할 때는 반드리 변수 형태로 값을 넘겨줘야한다.

RETURN문

함수에서는 일정한 연상을 수행하고 결과 값을 반환하는 역할을 했지만, 프로시저에서는 RETURN문을 만나면 이후 로직을 수행하지 않고 프로시저를 빠져나간다.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 CREATE OR REPLACE PROCEDURE MY_NEW_JOB_PROC ( P_JOB_ID IN JOBS.JOB_ID% TYPE , P_JOB_TITLE IN JOBS.JOB_TITLE% TYPE , P_MIN_SAL IN JOBS.MIN_SALARY% TYPE : = 10 , P_MAX_SAL IN JOBS.MAX_SALARY% TYPE : = 100 ) IS VN_CNT NUMBER : = 0 ; BEGIN IF P_MIN_SAL < 1000 THEN DBMS_OUTPUT.PUT_LINE( '최소 급여값은 1000 이상이어야한다.' ); RETURN ; END IF ; SELECT COUNT ( * ) INTO VN_CNT FROM JOBS WHERE JOB_ID = P_JOB_ID; IF VN_CNT > 0 THEN UPDATE JOBS SET JOB_TITLE = P_JOB_TITLE, MIN_SALARY = P_MIN_SAL, MAX_SALARY = P_MAX_SAL, UPDATE_DATE = SYSDATE WHERE JOB_ID = P_JOB_ID; ELSE INSERT INTO JOBS (JOB_ID, JOB_TITLE, MIN_SALARY, MAX_SALARY, CREATE_DATE, UPDATE_DATE) VALUES (P_JOB_ID, P_JOB_TITLE, P_MIN_SAL, P_MAX_SAL, SYSDATE , SYSDATE ); END IF ; COMMIT ; END ; EXEC MY_NEW_JOB_PROC( ‘SM_JOB1’ , ‘SAMPLE JOB1’ , 999 , 6000 ); Colored by Color Scripter cs

실행결과

접기 접기

반응형

[ Oracle ] 프로시저와 함수의 차이

반응형

오라클을 사용하다보면 자주 접하게 되는 프로시저와 함수.

이 둘의 정의와 차이점에 대해 알아보자.

프로시저(Procedure)란?

넓은 의미로는 어떤 업무를 수행하기 위한 절차를 뜻한다.

예를 들어 쇼핑몰에서 신발을 구매하는 프로시저로 표현해본다면

[ Procedure Start ]

① 쇼핑몰 회원 로그인

② 구매할 신발 선택

③ 개인정보 및 배송지 선택

④ 결제

[ Procedure End ]

위 처럼 어떤 프로세스를 절차적으로 기술해 놓은 것을 프로시저라 한다.

프로시저 문법

CREATE OR REPLACE PROCEDURE 프로시저 이름 ( 매개변수명1 [ IN || OUT || INOUT ] 데이터타입, 매개변수명2 [ IN || OUT || INOUT ] 데이터타입 … ) IS||AS 변수, 상수 등 선언 ( 선언부 ) BEGIN 실행 문장 ( 실행부 ) EXCEPTION 문장 //필수아님 END ;

프로시저 예제

//사번을 입력받아 급여를 인상하는 update_sal 프로시저 CREATE OR REPLACE PROCEDURE update_sal ( v_empno IN NUMBER ) IS BEGIN UPDATE emp SET sal = sal * 1.1 WHERE empno = v_empno; END update_sal;

함수(Function)란?

위의 프로시저의 각 프로세스를 수행하기 위해 필요한 기능들을 함수라 한다.

예를 들어 쇼핑몰의 로그인기능 중 ID와 PW를 체크하는 기능등을 함수라 보면 된다.

간혹 “함수는 리턴값을 갖는 프로시저이며 프로시저는 리턴값이 없다”라고 생각하시는 분들이 있는데 이는 명백히 틀린 정의이다.

이유는 함수나 프로시저나 구조적으로는 동일하며 프로시저도 리턴값을 가질수 있기 때문이다.

함수 문법

CREATE OR REPLACE FUNCTION 함수 이름 ( 매개변수명1 매개변수1타입, 매개변수명2 매개변수2타입 … ) RETURN 데이터타입 IS||AS 변수, 상수 등 선언 ( 선언부 ) BEGIN 실행 문장 ( 실행부 ) RETURN 반환값 //필수 EXCEPTION 문장 //필수아님 END ;

함수 예제

//날짜를 입력하면 YYYY-MM-DD 형태로 바꿔주는 함수 CREATE OR REPLACE FUNCTION testDate ( date Date ) RETURN VARCHAR2 IS changeDate VARCHAR2 ( 20 ) ; BEGIN changeDate := NULL ; changeDate := TO_CHAR ( date, ‘YYYY-MM-DD’ ) ; RETURN changeDate ; END ;

그렇다면 프로시저와 함수는 무슨 차이가 있는가?

프로시저(Procedure)와 함수(Function)의 차이

So you have finished reading the 프로 시저 topic article, if you find this article useful, please share it. Thank you very much. See more: 프로시저란, 프로시저 호출, mysql 프로시저, 프로시저 생성, mssql 프로시저, 프로시저 문법, 프로시저 공부, 프로시저 예제

Leave a Comment