Oracle stored procedures are a query language that repeatedly run a set of SQL statements in a single block of code. The advantage of stored procedures is that you can reuse the written and tested SQL code, simplify the writing process of SQL statements, and improve the execution efficiency of the code. But sometimes we need to get certain values or results from the stored procedure. This requires using the return value of the stored procedure.
The return value of a stored procedure can be a numerical value, a string, a date or a Boolean value. Return values from stored procedures help make your code easier to use, readable, and reusable.
The return value of Oracle stored procedure does not have an obvious return value type like a function. Therefore, in the stored procedure, the value needs to be passed to the program that calls it through OUT or IN OUT parameters.
In Oracle, the return value of a stored procedure can be returned through OUT or IN OUT parameters. OUT or IN OUT parameters allow a stored procedure to return a result value or pass the value of an input parameter to a stored procedure, and allow the stored procedure and the calling program to interact with respect to these values.
The following is a simple stored procedure for outputting the product of two values:
CREATE OR REPLACE PROCEDURE SP_MULTIPLY (input1 IN NUMBER, input2 IN NUMBER, result OUT NUMBER) AS BEGIN result := input1 * input2; END;
In this stored procedure, we accept two input parameters input1 and input2, and add their The product is stored in the result variable, which is returned as the OUT parameter.
The stored procedure is called as follows:
DECLARE output NUMBER; BEGIN SP_MULTIPLY(5, 10, output); DBMS_OUTPUT.PUT_LINE('The product is ' || output); END;
When calling the stored procedure, we need to declare a variable output, pass it as the OUT parameter to the stored procedure SP_MULTIPLY and store the result. After the stored procedure returns, we can call DBMS_OUTPUT.PUT_LINE to output the results.
In addition to OUT parameters, stored procedures can also use IN OUT parameters for exchanging data between the stored procedure and the calling program. For example, in the stored procedure below, we will accept a numeric value as input, add it to an existing numeric value, and return the result by storing it in the parameter OUT.
CREATE OR REPLACE PROCEDURE SP_ADD (input IN NUMBER, result IN OUT NUMBER) AS BEGIN result := result + input; END;
The way to call this stored procedure is as follows:
DECLARE output NUMBER := 10; BEGIN SP_ADD(5, output); DBMS_OUTPUT.PUT_LINE('The result is ' || output); END;
When calling the stored procedure, we pass a numeric value as input and another numeric variable output as IN OUT parameter. After the stored procedure is executed, the result variable contains the final result.
To summarize, the return value of a stored procedure can be returned through OUT or IN OUT parameters. OUT or IN OUT parameters allow a stored procedure to return a result value or pass the value of an input parameter to a stored procedure, and allow the stored procedure and the calling program to interact with respect to these values. When writing a stored procedure, we need to pay special attention to the type and delivery method of parameters in order to use the return value of the stored procedure correctly.
The above is the detailed content of oracle stored procedure return value. For more information, please follow other related articles on the PHP Chinese website!