我在Oracle中创建存储过程,其中一个是永久创建的,另一个是在服务其目的后暂时创建并消失。如何使用它,请指导您何时使用以及如何使用它创建。临时和永久存储过程
----这不是在DB创建的,只是暂时创建,消失
DECLARE name varchar2(10);
PROCEDURE printVal (name varchar2) IS
BEGIN
dbms_output.put_line ('name:' || name);
END;
BEGIN
name := 'Joe';
printVal(name);
END;
/
----这在DB创建永久可用
create PROCEDURE printVal (name varchar2) IS
BEGIN
dbms_output.put_line ('name:' || name);
END;
我认为你是困惑,因为第一个匿名块包含PL/SQL [子程序](https://docs.oracle.com/cloud/latest /db112/LNPLS/subprograms.htm#LNPLS008),它定义了名称(printVal)。但是因为它存在于匿名块中,所以它不存储在数据库中。 – tbone
感谢您的答复和答案。 – sunleo