oracle 存储过程
时间: 2023-10-05 11:11:50 浏览: 46
Oracle 存储过程是一段预编译的程序,它包含了一系列的 PL/SQL 语句,可以被 Oracle 数据库服务器存储在数据库中,并可以被多次调用。存储过程可以接受参数,可以返回一个或多个结果集,可以在程序中使用变量和流程控制语句。
下面是一个简单的 Oracle 存储过程示例:
```
CREATE OR REPLACE PROCEDURE get_employee_details (emp_id IN NUMBER, emp_name OUT VARCHAR2, emp_salary OUT NUMBER)
IS
BEGIN
SELECT name, salary INTO emp_name, emp_salary FROM employees WHERE id = emp_id;
END;
```
这个存储过程接受一个员工 ID,然后从 employees 表中获取该员工的姓名和薪水,并将它们存储在 emp_name 和 emp_salary 参数中。使用该存储过程的示例代码如下:
```
DECLARE
employee_name VARCHAR2(100);
employee_salary NUMBER;
BEGIN
get_employee_details(1001, employee_name, employee_salary);
DBMS_OUTPUT.PUT_LINE('Employee Name: ' || employee_name);
DBMS_OUTPUT.PUT_LINE('Employee Salary: ' || employee_salary);
END;
```
这段代码调用了 get_employee_details 存储过程,并将返回的员工姓名和薪水打印到控制台上。
存储过程可以提高数据库应用程序的性能和可维护性,因为它们可以减少重复代码和网络通信开销。