BACKEND/Oracle

Oracle 프로시저 예제

꾸준히개발하자 2024. 1. 14. 23:16

 

프로시저 사용 이유

 

PL/SQL은 Oracle 데이터베이스에서 사용하는 프로시저 언어로, SQL과 프로그래밍 언어의 기능을 결합한 것입니다. PL/SQL 프로시저는 복잡한 데이터베이스 작업을 캡슐화하고, 효율적으로 재사용할 수 있도록 도와줍니다.

 

기본 프로시저 구조

Oracle PL/SQL 프로시저의 기본 구조는 다음과 같습니다:

CREATE OR REPLACE PROCEDURE procedure_name (parameter_list)
IS
    -- 선언부: 변수, 상수, 커서 등을 선언
BEGIN
    -- 실행부: 실제 로직을 기술 (SQL 문, PL/SQL 문 등)
    -- 여기에 데이터베이스 작업을 수행하는 코드를 넣습니다.
EXCEPTION
    -- 예외 처리부: 예외 처리 코드
END procedure_name;

 

예시: 간단한 프로시저

예를 들어, 직원의 세부 정보를 출력하는 간단한 프로시저는 다음과 같이 작성할 수 있습니다

 

CREATE OR REPLACE PROCEDURE PrintEmployeeDetails (emp_id IN NUMBER)
IS
    emp_name VARCHAR2(100);
BEGIN
    SELECT name INTO emp_name FROM employees WHERE id = emp_id;
    DBMS_OUTPUT.PUT_LINE('Employee Name: ' || emp_name);
EXCEPTION
    WHEN NO_DATA_FOUND THEN
        DBMS_OUTPUT.PUT_LINE('No employee found with ID ' || emp_id);
    WHEN OTHERS THEN
        DBMS_OUTPUT.PUT_LINE('Error occurred');
END PrintEmployeeDetails;

 

이 프로시저는 emp_id라는 입력 파라미터를 받아 해당하는 직원의 이름을 출력합니다. 데이터를 찾을 수 없거나 다른 오류가 발생하면 예외 처리 부분에서 적절한 메시지를 출력합니다.

 

 

프로시저 호출

작성된 프로시저를 호출하려면 다음과 같은 SQL 명령을 사용합니다:

 

EXECUTE PrintEmployeeDetails(123);  -- 123은 직원 ID

 

또는 다음과 같이 사용할 수도 있습니다

 

BEGIN
    PrintEmployeeDetails(123);
END;

 

PL/SQL 프로시저는 데이터베이스 내에서 재사용 가능한 로직을 구현하는 데 매우 유용하며, 복잡한 데이터 처리를 효율적으로 관리할 수 있도록 도와줍니다.