📜  exec 过程 oracle - SQL (1)

📅  最后修改于: 2023-12-03 15:30:40.634000             🧑  作者: Mango

主题:使用 EXEC 过程执行 Oracle SQL

简介

EXEC 是一个 SQLPLUS 内置的命令,用于执行存储过程和 PL/SQL 代码块。在 Oracle 数据库中,存储过程是一组预定义的 SQL 语句,可以重复使用,提高了代码的可重用性和可维护性。

用法
EXEC procedure_name(param1, param2, ..., paramN);
  • procedure_name 是需要执行的存储过程或代码块的名称。
  • param1, param2, ..., paramN 是存储过程或代码块需要的参数。
示例

下面是一个简单的存储过程:

CREATE OR REPLACE PROCEDURE get_emp_info
(
    p_empno IN emp.empno%TYPE,
    p_ename OUT emp.ename%TYPE,
    p_job OUT emp.job%TYPE,
    p_sal OUT emp.sal%TYPE
)
AS
BEGIN
    SELECT ename, job, sal INTO p_ename, p_job, p_sal FROM emp WHERE empno = p_empno;
END;
/

执行该存储过程可以使用 EXEC 命令:

EXEC get_emp_info(7369, :p_ename, :p_job, :p_sal);

执行结果会返回到指定的 OUT 参数中。

注意事项
  • 在执行存储过程时,需要确保存储过程已经存在于数据库中。
  • 如果存储过程中有 OUT 或 IN OUT 参数,则需要在 EXEC 命令中使用变量来接收返回值。
  • EXEC 命令只能接收一个存储过程或代码块的名称,不支持同时执行多个。
总结

使用 EXEC 命令可以方便地执行存储过程和 PL/SQL 代码块,提高代码的可重用性和可维护性。在使用 EXEC 命令时,需要注意存储过程的存在性和参数的传递方式。