DATA/데이터베이스 / / 2024. 5. 29. 09:28

오라클 프로시저 사용법(심화)

반응형


오라클 프로시저(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;
반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유