存储过程

Oracle存储过程是在数据库中存储的PL/SQL程序块,可以被应用程序调用执行。存储过程的优点是:

  • 减少网络流量:应用程序可以通过一次调用执行存储过程,而不是多次发送SQL语句到数据库。
  • 提高性能:存储过程是预编译的,所以数据库不需要重复编译,可以提高执行速度。
  • 更易维护:当需要修改业务逻辑时,只需要修改存储过程,不需要修改调用它的所有应用程序。

创建存储过程的语法如下:

CREATE PROCEDURE procedure_name 
(argument1 IN type,
 argument2 IN OUT type,
 ...) 
IS 
    -- 声明变量和常量
BEGIN
    -- 执行PL/SQL代码
END;

例如,创建一个根据员工编号查询员工信息的存储过程:

CREATE PROCEDURE get_employee_info 
(employee_id IN NUMBER) 
IS 
    v_first_name employees.first_name%TYPE;
    v_last_name  employees.last_name%TYPE;
    v_salary     employees.salary%TYPE;
BEGIN
    SELECT first_name, last_name, salary 
    INTO v_first_name, v_last_name, v_salary 
    FROM employees 
    WHERE employee_id = employee_id;
    
    DBMS_OUTPUT.PUT_LINE('First Name: ' || v_first_name); 
    DBMS_OUTPUT.PUT_LINE('Last Name: ' || v_last_name);
    DBMS_OUTPUT.PUT_LINE('Salary: ' || v_salary); 
END;

调用存储过程的语法是:

EXECUTE procedure_name(argument1 => value1, argument2 => value2);

例如,调用上面的存储过程:

EXECUTE get_employee_info(employee_id => 100);
posted @ 2023-07-14 18:06  BBBone  阅读(17)  评论(0编辑  收藏  举报