[ORACLE] USSOFT ORACLE 교육 3일차

이현식·2021년 2월 25일
0

ORACLE

목록 보기
3/4

📌 Sub-Program(부프로그램)

👉 하나의 프로그램을 구성하는 여러 작은 단위 프로그램

  • 일련의 명령문을 모아두고, 이를 외부에서 호출할 수 있게 한 구조
  • 보통 프로그래밍 언어에서 function에 해당함
  • PL/SQL의 대표적인 부 프로그램에는 함수(Function)과 프로시져(Procedure)가 있다.

📌 Function(함수)

💡 함수 생성

CREATE OR REPLACE FUNCTION 함수 이름(매개변수1, 매개변수2...)
RETURN 데이터 타입;
IS[AS]
  변수, 상수 선언..
BEGIN
  실행부

  RETURN 반환값
[EXCEPTION 예외처리부]
END [함수 이름];
  • 함수는 기본적으로 SQL문 안에서 사용해야 한다.
  • Oracle에서 기본적으로 제공해주는 함수(ex. concat)는 Built-in 함수라고 부른다.
  • PL/SQL에서 함수란 사용자가 직접 정의한 함수를 말한다.

📌 Procedure(프로시저)

💡 함수 생성

CREATE OR REPLACE PROCEDURE 프로시저 이름
  ( 매개변수명1[ IN | OUT | IN OUT ] 데이터 타입[ := 디폴트값 ],
    매개변수명2[ IN | OUT | IN OUT ] 데이터 타입[ := 디폴트값 ], ...)
IS[AS]
  변수, 상수 등 선언
BEGIN
  실행

[EXCEPTION 예외처리부]

END [프로시저 이름]

❗ IN, OUT IN OUT 이란?

  • 매개변수의 스코프
  • IN 은 매개변수가 프로시저 내부로 전달되면 연산에만 사용되고 더이상 반환되지 않는다.
  • OUT 은 프로시저 내부로 전달되지는 않지만 프로시저가 해당 변수의 참조를 통해 호출한 곳으로 값을 전달할 수 있다.
  • IN OUT 은 프로시저 내부로 전달하여 연산에 사용하고 호출한 곳에서 참조를 통해 값을 전달 받을 수 있다.

💡 Procedure 실행

EXEC (혹은 EXECUTE) 프로시저명 (매개변수1 값... 매개변수2 값...)

💡 RETURN문

  • RETURN문을 사용하면 프로시저의 실행을 해당 시점에서 종료시킬 수 있다.
  • 조건문으로 분기시켜 로직을 수행할 때 자주 사용한다.
profile
developer

0개의 댓글

Powered by GraphCDN, the GraphQL CDN