在声明PL/SQL过程/函数时,"IN"和"OUT"关键字是强制性的吗?

Dil*_*ali 1 oracle plsql procedure

我现在正在学习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 ....
Run Code Online (Sandbox Code Playgroud)

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

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

关键词'IS'和'AS'也有什么区别吗?

Noe*_*oel 6

在Oracle PLSQL,有三个参数模式- IN,OUTIN OUT.指定IN模式不是强制性的.如果未指定参数模式,则将其视为IN.对于其他两个,您应该指定模式.在第二个示例中,考虑了两个参数IN.

您可以使用ISAS关键字之一.没有区别.

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