Oracle 저장 프로시저는 단일 코드 블록에서 일련의 SQL 문을 반복적으로 실행하는 쿼리 언어입니다. 저장 프로시저의 장점은 작성 및 테스트된 SQL 코드를 재사용할 수 있고, SQL 문의 작성 프로세스를 단순화하며, 코드의 실행 효율성을 향상시킬 수 있다는 것입니다. 하지만 때로는 저장 프로시저에서 특정 값이나 결과를 가져와야 하는 경우도 있습니다. 이를 위해서는 저장 프로시저의 반환 값을 사용해야 합니다.
저장 프로시저의 반환 값은 숫자 값, 문자열, 날짜 또는 부울 값일 수 있습니다. 저장 프로시저의 반환 값은 코드를 더 쉽게 사용하고, 읽고, 재사용할 수 있도록 도와줍니다.
Oracle 저장 프로시저의 반환 값에는 함수처럼 명확한 반환 값 유형이 없습니다. 따라서 저장 프로시저에서는 OUT 또는 IN OUT 매개변수를 통해 이를 호출하는 프로그램에 값을 전달해야 합니다.
Oracle에서는 OUT 또는 IN OUT 매개변수를 통해 저장 프로시저의 반환 값을 반환할 수 있습니다. OUT 또는 IN OUT 매개변수를 사용하면 저장 프로시저가 결과 값을 반환하거나 입력 매개변수 값을 저장 프로시저에 전달하고 저장 프로시저와 호출 프로그램이 이러한 값과 상호 작용할 수 있습니다.
다음은 두 값의 곱을 출력하는 간단한 저장 프로시저입니다.
CREATE OR REPLACE PROCEDURE SP_MULTIPLY (input1 IN NUMBER, input2 IN NUMBER, result OUT NUMBER) AS BEGIN result := input1 * input2; END;
이 저장 프로시저에서는 두 개의 입력 매개변수 input1과 input2를 허용하고 그 결과를 결과 변수에 저장합니다. 이 변수는 OUT 매개변수로 반환됩니다.
저장 프로시저는 다음과 같이 호출됩니다.
DECLARE output NUMBER; BEGIN SP_MULTIPLY(5, 10, output); DBMS_OUTPUT.PUT_LINE('The product is ' || output); END;
저장 프로시저를 호출할 때 변수 출력을 선언하고 이를 저장 프로시저 SP_MULTIPLY에 OUT 매개변수로 전달하고 결과를 저장해야 합니다. 저장 프로시저가 반환된 후 DBMS_OUTPUT.PUT_LINE을 호출하여 결과를 출력할 수 있습니다.
저장 프로시저에서는 OUT 매개 변수 외에도 IN OUT 매개 변수를 사용하여 저장 프로시저와 호출 프로그램 간에 데이터를 교환할 수 있습니다. 예를 들어, 아래 저장 프로시저에서는 숫자 값을 입력으로 받아들이고 이를 기존 숫자 값에 추가한 다음 매개변수 OUT에 저장하여 결과를 반환합니다.
CREATE OR REPLACE PROCEDURE SP_ADD (input IN NUMBER, result IN OUT NUMBER) AS BEGIN result := result + input; END;
이 저장 프로시저를 호출하는 방법은 다음과 같습니다.
DECLARE output NUMBER := 10; BEGIN SP_ADD(5, output); DBMS_OUTPUT.PUT_LINE('The result is ' || output); END;
저장 프로시저를 호출하는 동안 숫자 값을 입력으로 전달하고 다른 숫자 변수 출력도 IN OUT 매개 변수로 전달합니다. 저장 프로시저가 실행된 후 결과 변수에는 최종 결과가 포함됩니다.
요약하자면 저장 프로시저의 반환 값은 OUT 또는 IN OUT 매개 변수를 통해 반환될 수 있습니다. OUT 또는 IN OUT 매개변수를 사용하면 저장 프로시저가 결과 값을 반환하거나 입력 매개변수 값을 저장 프로시저에 전달하고 저장 프로시저와 호출 프로그램이 이러한 값과 상호 작용할 수 있습니다. 저장 프로시저를 작성할 때 저장 프로시저의 반환 값을 올바르게 사용하려면 매개 변수의 유형과 전달 방법에 특별한 주의를 기울여야 합니다.
위 내용은 오라클 저장 프로시저 반환 값의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!