1

我现在在学习PL/SQL,遇到了一些误区,比如在声明一个过程的时候,在指明参数类型的时候,是不是一定要写关键字'IN'和'OUT'?因为我在 Oracle 文档网站上看到了一些程序声明。在一种情况下,IN 出现在参数列表中

PROCEDURE double (
    original    IN  VARCHAR2,
    new_string  OUT VARCHAR2
  ) AS
  BEGIN
   new_string := original || original;
 END;

BEGIN
 DBMS_OUTPUT.PUT_LINE ....

在另一种情况下,没有 IN:

CREATE OR REPLACE PROCEDURE award_bonus (
  emp_id NUMBER, bonus NUMBER) AS
  commission    REAL;
  comm_missing  EXCEPTION;
BEGIN
  SELECT ....

关键词“IS”和“AS”也有什么不同吗?

4

1 回答 1

6

在 Oracle PLSQL 中,有 3 种参数模式 - INOUTIN OUTIN指定模式不是强制性的。如果不指定参数模式,则将其作为IN. 对于其他两个,您应该指定模式。在您的第二个示例中,两个参数都被考虑IN

您可以使用ISAS关键字中的任何一个。没有区别。

查看文档以获取更多详细信息。

于 2013-06-09T02:16:15.280 回答