gpt4 book ai didi

oracle - DEFAULT 和赋值运算符之间的 PL/SQL 区别

转载 作者:行者123 更新时间:2023-12-01 00:37:34 30 4
gpt4 key购买 nike

我是 PL/SQL 的新手,这个问题似乎很“幼稚”,所以我提前很抱歉,但谷歌根本没有帮助我......

以下程序之间有什么区别吗?

Procedure p1(a Number DEFAULT 0) Is
Begin
DBMS_OUTPUT.put_line(a);
End;


Procedure p2(a Number := 0) Is
Begin
DBMS_OUTPUT.put_line(a);
End;

我已经检查过它们,所以当我在没有 args 的情况下调用它们时,输出是 0 ,但我不确定是否有任何副作用。

最佳答案

如果您关注 Oracle 的 documentation

You can use the keyword DEFAULT instead of the assignment operator to initialize variables. You can also use DEFAULT to initialize subprogram parameters, cursor parameters, and fields in a user-defined record.

Use DEFAULT for variables that have a typical value. Use the assignment operator for variables (such as counters and accumulators) that have no typical value.


DECLARE
blood_type CHAR DEFAULT 'O'; -- Same as blood_type CHAR := 'O';
hours_worked INTEGER DEFAULT 40; -- Typical value
employee_count INTEGER := 0; -- No typical value

BEGIN
NULL;
END;
/

所以我想内部是一样的。

关于oracle - DEFAULT 和赋值运算符之间的 PL/SQL 区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39494662/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com