oracle存储 INOUT
时间: 2023-10-03 13:09:33 浏览: 93
INOUT参数是一种存储过程参数类型,可以在存储过程中传递参数值,并将其更改后传递回调用程序。在Oracle中,INOUT参数可以使用以下语法进行声明:
```
parameter_name [IN OUT] datatype [:= default_value];
```
其中,IN表示参数只能在存储过程内部使用,而OUT表示参数只能在存储过程外部使用,而IN OUT则表示参数既可以在存储过程内部使用,也可以在存储过程外部使用。
下面是一个使用INOUT参数的Oracle存储过程示例:
```
CREATE OR REPLACE PROCEDURE update_employee_salary
(
p_emp_id IN NUMBER,
p_new_salary IN OUT NUMBER
)
IS
BEGIN
-- update the employee salary
UPDATE employees
SET salary = p_new_salary
WHERE employee_id = p_emp_id;
-- get the updated salary value
SELECT salary
INTO p_new_salary
FROM employees
WHERE employee_id = p_emp_id;
END;
```
在这个例子中,存储过程update_employee_salary接收一个员工ID和一个INOUT参数p_new_salary,它根据传入的员工ID更新相应员工的薪水,并将更新后的薪水值存储在p_new_salary中,以便供调用程序使用。
阅读全文