Oracle 这些PL/SQL变量初始化是否等效?
因此,我知道我可以使用以下任一方法初始化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
关键字默认值
赋值运算符:=
计数器二进制\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>