>  기사  >  데이터 베이스  >  Oracle 저장 프로시저의 출력 매개변수 사용에 대해 이야기해 보겠습니다.

Oracle 저장 프로시저의 출력 매개변수 사용에 대해 이야기해 보겠습니다.

PHPz
PHPz원래의
2023-04-04 10:39:532028검색

Oracle 저장 프로시저는 데이터베이스의 특정 비즈니스 논리 또는 처리 작업을 구현하는 것이 목적인 사전 컴파일된 코드 세그먼트입니다. Oracle 저장 프로시저에서는 입력 및 출력에 매개변수가 필요한 경우가 많으며 출력 매개변수의 사용이 매우 일반적입니다. 이 문서에서는 Oracle 저장 프로시저에서 출력 매개변수를 사용하는 방법을 자세히 소개합니다.

출력 매개변수란 무엇인가요?

Oracle 저장 프로시저의 출력 매개변수는 저장 프로시저 실행이 끝난 후 호출자에게 특정 데이터를 반환하는 것을 의미합니다. 간단히 말하면, 출력 매개변수는 저장 프로시저의 계산 결과 또는 상태 값이며, 이러한 결과는 숫자, 문자열, 날짜 및 기타 유형의 데이터일 수 있습니다.

출력 매개변수 선언 및 사용

Oracle 저장 프로시저에서 출력 매개변수 선언 및 사용은 비교적 간단합니다. 저장 프로시저에서는 OUT 키워드를 사용하여 출력 매개변수를 선언할 수 있습니다. 다음은 두 개의 출력 매개변수 out_num 및 out_str이 선언되는 간단한 저장 프로시저 예제입니다.

CREATE OR REPLACE PROCEDURE my_procedure (in_param1 IN NUMBER, in_param2 IN VARCHAR2,
                                           out_num OUT NUMBER, out_str OUT VARCHAR2) IS
BEGIN
    /* 在存储过程中进行计算 */
    out_num := in_param1 * 10;
    out_str := in_param2 || ' World!';
END;
/

위의 예에서 저장 프로시저는 두 개의 입력 매개 변수 in_param1 및 in_param2를 허용하고 실행 결과를 두 개의 출력 매개 변수 out_num 및 out_str에 할당합니다. 저장 프로시저가 호출되면 실제 매개변수는 IN 및 OUT 키워드를 통해 저장 프로시저에 전달됩니다.

위 저장 프로시저 예시를 호출하는 코드는 다음과 같습니다.

DECLARE
    result_num NUMBER;
    result_str VARCHAR2(50);
BEGIN
    /* 调用存储过程 */
    my_procedure(5, 'Hello', result_num, result_str);

    /* 输出结果 */
    DBMS_OUTPUT.PUT_LINE('result_num = ' || result_num);
    DBMS_OUTPUT.PUT_LINE('result_str = ' || result_str);
END;
/

보시다시피 실제 매개변수 5와 'Hello'가 저장 프로시저에 전달되고, 계산 결과가 result_num과 result_str에 반환됩니다. 매개변수를 출력하고 결과는 DBMS_OUTPUT을 통해 출력됩니다. 위 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.

result_num = 50
result_str = Hello World!

OUTPUT 키워드

Oracle 12c 이전 버전에서는 출력 매개변수를 선언하는 데 OUT 키워드를 사용할 수 없으며 OUTPUT 키워드를 사용해야 합니다. 다음은 OUTPUT 키워드를 사용하여 출력 매개변수를 선언하는 저장 프로시저의 예입니다.

CREATE OR REPLACE PROCEDURE my_procedure (in_param1 IN NUMBER, in_param2 IN VARCHAR2,
                                           result_num OUT NUMBER, result_str OUT VARCHAR2) IS
BEGIN
    /* 在存储过程中进行计算 */
    result_num := in_param1 * 10;
    result_str := in_param2 || ' World!';
END;
/

위 코드는 두 개의 출력 매개변수 result_num 및 result_str을 선언합니다. 저장 프로시저가 실행된 후 계산 결과는 이 두 출력 매개변수에 할당되고 호출자에게 반환됩니다.

OUTPUT 키워드를 사용하여 저장 프로시저를 호출하는 코드 예제는 다음과 같습니다.

DECLARE
    v_num NUMBER;
    v_str VARCHAR2(50);
BEGIN
    /* 调用存储过程 */
    my_procedure(5, 'Hello', v_num, v_str);

    /* 输出结果 */
    DBMS_OUTPUT.PUT_LINE('v_num = ' || v_num);
    DBMS_OUTPUT.PUT_LINE('v_str = ' || v_str);
END;
/

Summary

Oracle 저장 프로시저에서 출력 매개변수는 계산 결과와 상태 값을 호출자에게 반환할 수 있는 강력한 도구입니다. 출력 매개변수를 선언하고 사용하는 것은 매우 간단합니다. 저장 프로시저에서 직접 OUT 또는 OUTPUT 키워드를 사용하면 됩니다. 실제 개발에서는 출력 매개변수를 사용하여 데이터를 처리하고 코드를 단순화하는 경우가 많습니다.

위 내용은 Oracle 저장 프로시저의 출력 매개변수 사용에 대해 이야기해 보겠습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.