oracle存储过程实例
时间: 2023-07-05 14:33:24 浏览: 70
oracle 存储过程实例
3星 · 编辑精心推荐
以下是一个简单的Oracle存储过程的示例:
```sql
CREATE OR REPLACE PROCEDURE get_employee (
p_employee_id IN NUMBER,
p_employee_name OUT VARCHAR2,
p_employee_salary OUT NUMBER
)
IS
BEGIN
SELECT employee_name, salary
INTO p_employee_name, p_employee_salary
FROM employees
WHERE employee_id = p_employee_id;
END;
```
这个存储过程接受一个输入参数p_employee_id,并返回两个输出参数p_employee_name和p_employee_salary。存储过程使用SELECT语句从employees表中检索与提供的employee_id匹配的记录,然后将employee_name和salary赋值给输出参数。存储过程可以使用以下语句调用:
```sql
DECLARE
v_employee_name VARCHAR2(50);
v_employee_salary NUMBER;
BEGIN
get_employee(100, v_employee_name, v_employee_salary);
DBMS_OUTPUT.PUT_LINE('Employee name: ' || v_employee_name);
DBMS_OUTPUT.PUT_LINE('Employee salary: ' || v_employee_salary);
END;
```
这个调用语句将100作为输入参数传递给存储过程,并将输出参数存储在本地变量v_employee_name和v_employee_salary中,最后打印输出参数的值。
阅读全文