Oracle 这些PL/SQL变量初始化是否等效?

Oracle 这些PL/SQL变量初始化是否等效?,oracle,plsql,variable-assignment,default-value,Oracle,Plsql,Variable Assignment,Default Value,因此,我知道我可以使用以下任一方法初始化PL/SQL中的变量: 默认值关键字 :=赋值运算符 例如: 计数器二进制\u整数默认值15 计数器二进制\整数:=15 这两种方法是否完全等同于PL/SQL引擎,或者有任何细微的区别?是的,它们是等效的 从 您可以使用关键字DEFAULT而不是赋值运算符来 初始化变量。也可以使用默认值进行初始化 用户定义字段中的子程序参数、光标参数和字段 记录 对具有典型值的变量使用默认值。使用 变量(如计数器和累加器)的赋值运算符 没有典型值 示例2-8使用D

因此,我知道我可以使用以下任一方法初始化PL/SQL中的变量:

  • 默认值
    关键字
  • :=
    赋值运算符
例如:

  • 计数器二进制\u整数默认值15
  • 计数器二进制\整数:=15

这两种方法是否完全等同于PL/SQL引擎,或者有任何细微的区别?

是的,它们是等效的

您可以使用关键字DEFAULT而不是赋值运算符来 初始化变量。也可以使用默认值进行初始化 用户定义字段中的子程序参数、光标参数和字段 记录

对具有典型值的变量使用默认值。使用 变量(如计数器和累加器)的赋值运算符 没有典型值

示例2-8使用Default关键字为变量分配默认值

根据需要,您可以使用:

要指定初始值,请使用赋值运算符(:=)或关键字DEFAULT,后跟表达式


这意味着它们是等价的。

你能分享一个更完整的代码片段吗?它们是等价的。所以这意味着用法是不同的,即使结果是相同的。不过,“典型值”有点像波浪形。我从来没有使用过
默认值,因为
:=
可以少输入5个字符。我可以理解他们所说的“典型”与“不典型”是什么意思,也就是说,使用
默认值
意味着一种自我记录的方式,表示“这是这个变量的正常值,但它可能被覆盖”,而
:=
意味着“这是此变量的起始值,但它可能会更改多次(如在循环中)。”。
SQL> DECLARE
  2    blood_type CHAR DEFAULT 'O';         -- Same as blood_type CHAR := 'O';
  3  
  4    hours_worked    INTEGER DEFAULT 40;  -- Typical value
  5    employee_count  INTEGER := 0;        -- No typical value
  6  
  7  BEGIN
  8    NULL;
  9  END;
 10  /

PL/SQL procedure successfully completed.

SQL>