프로시저 사용 이유
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 프로시저는 데이터베이스 내에서 재사용 가능한 로직을 구현하는 데 매우 유용하며, 복잡한 데이터 처리를 효율적으로 관리할 수 있도록 도와줍니다.
'BACKEND > Oracle' 카테고리의 다른 글
Oracle에서 사용하는 조인 (0) | 2024.01.14 |
---|---|
[Oracle] IO 오류 - The Network Adapter could not establish the connection 해결 (1) | 2024.01.13 |
[Oracle] 프로시저(Procedure)란? (feat. C.R.U.D) (0) | 2024.01.12 |
[Oracle] 연습용 계정(scott)과 사원 테이블(emp) 만들기 (0) | 2024.01.08 |
Error 6 initializing SQL*Plus (0) | 2024.01.08 |