首页 > 解决方案 > Oracle中的“过程名称IS”和“过程名称AS”有什么区别?

问题描述

PROCEDURE 样本(p_num1 IN TABLE%TYPE,p_num2 OUT NUMBER)是

或者

PROCEDURE 样本(p_num1 IN TABLE%TYPE,p_num2 OUT NUMBER)AS

标签: oracleplsql-package

解决方案


区别只有一个字母:Ivs A.。两个都可以用,没什么区别。除了存储在数据字典表 [CDB|DBA|ALL|USER]_SOURCE 中的相同细微差别之外,执行两者的效果是相同的。

SQL> create or replace procedure p_test is begin null; end;
  2  /

Procedure created.

    SQL> create or replace procedure p_test as begin null; end;
      2  /

    Procedure created.

    SQL>

请注意,它不适用于例如视图:

SQL> create or replace view v_emp as select * from emp;

View created.

SQL> create or replace view v_emp is select * from emp;
create or replace view v_emp is select * from emp
                             *
ERROR at line 1:
ORA-00905: missing keyword

推荐阅读