반응형
오라클 프로시저(Stored Procedure)는 데이터베이스 내에서 특정 작업을 수행하는 SQL 문과 PL/SQL 블록을 포함하는 저장된 프로그램입니다. 프로시저를 사용하면 복잡한 작업을 단순화하고, 재사용 가능하며, 일관된 방식으로 실행할 수 있습니다. 오라클 프로시저를 사용하는 방법을 단계별로 설명하겠습니다.
매개변수가 있는 프로시저
프로시저에 매개변수를 전달할 수 있습니다. 매개변수는 입력(IN), 출력(OUT), 또는 입력/출력(IN OUT) 매개변수일 수 있습니다.
예제1: 입력 매개변수가 있는 프로시저
다음은 사용자의 이름을 입력 받아서 인사하는 프로시저입니다:
CREATE OR REPLACE PROCEDURE greet_user (p_name IN VARCHAR2)
AS
BEGIN
DBMS_OUTPUT.PUT_LINE('Hello, ' || p_name || '!');
END;
프로시저 실행:
EXEC greet_user('Alice');
예제2: 출력 매개변수가 있는 프로시저
다음은 두 숫자를 더한 결과를 출력하는 프로시저입니다:
CREATE OR REPLACE PROCEDURE add_numbers (p_num1 IN NUMBER, p_num2 IN NUMBER, p_result OUT NUMBER)
AS
BEGIN
p_result := p_num1 + p_num2;
END; /
프로시저 실행:
DECLARE
v_result NUMBER;
BEGIN
add_numbers(5, 10, v_result);
DBMS_OUTPUT.PUT_LINE('Result: ' || v_result);
END;
예제: 입력/출력 매개변수가 있는 프로시저
다음은 입력 받은 숫자에 10을 더하여 반환하는 프로시저입니다:
CREATE OR REPLACE PROCEDURE increment_number (p_num IN OUT NUMBER)
AS
BEGIN
p_num := p_num + 10;
END;
프로시저 실행:
DECLARE
v_num NUMBER := 20;
BEGIN
increment_number(v_num);
DBMS_OUTPUT.PUT_LINE('Incremented Number: ' || v_num);
END;
프로시저 관리
프로시저 보기
생성된 프로시저를 조회하려면 USER_OBJECTS 또는 ALL_OBJECTS 뷰를 사용합니다:
SELECT OBJECT_NAME, OBJECT_TYPE
FROM USER_OBJECTS
WHERE OBJECT_TYPE = 'PROCEDURE';
프로시저 수정
기존 프로시저를 수정하려면 CREATE OR REPLACE PROCEDURE 문을 다시 사용합니다:
CREATE OR REPLACE PROCEDURE say_hello
AS
BEGIN
DBMS_OUTPUT.PUT_LINE('Hello, Universe!');
END;
프로시저 삭제
프로시저를 삭제하려면 DROP PROCEDURE 문을 사용합니다:
DROP PROCEDURE say_hello;
반응형