Oracle中的::=和:=有什么区别?

7
这很难通过Google、Bing、Yahoo等搜索引擎进行搜索,因为它使用符号。太烦人了!
在Oracle的PL/SQL中,“::=”和“:=”有什么区别?

2
你有使用 ::= 的实际 Oracle 代码示例吗?如果有,请发布它。 - APC
3
Oracle SQL或PL/SQL中没有::=标准运算符。我猜想有人可能将::=定义为用户自定义运算符(请参见CREATE OPERATOR),但我从未这样做过,不确定其工作原理。SQL运算符参考资料在这里PL/SQL运算符参考资料在这里。请编辑您的问题并包括代码示例。祝分享愉快。 - Bob Jarvis - Слава Україні
1
":=" 的含义可以在 Oracle 文档 PL/SQL 语言基础 中轻松找到。您还可以观察到,PL/SQL 没有内置分隔符 ::=。我同意 @APC 和 @BobJarvis 的评论。" - user272735
2个回答

7
我对“::=”不确定,因为我在Oracle中没有看到过它,但是维基百科介绍了“:=”的用法。
在计算机编程语言中,等号通常表示值的相等性的布尔运算符(例如,在Pascal或Eiffel中),这与该符号在数学中的使用一致;或者表示赋值运算符(例如,在C语言类似的语言中)。选择前者的语言通常使用冒号等于符(:=)或≔来表示其赋值运算符。而选择后者的语言通常使用双等号符(==)来表示其布尔相等运算符。
此外,请查看此处
在PL / SQL中,赋值运算符是一个冒号加等号(:=)。PL / SQL字符串字面量由单引号括起来。

3

在我所知道的范围内,::= 只用于使用 Backus-Naur Form (BNF) 描述 PL/SQL(或其他语言)的句法。 ::= 符号是 BNF 描述语言本身的一部分,而不是所描述语言的一部分。关于BNF有许多教程,祝您学得愉快!


双冒号后面跟等号在编程中表示什么? - kmote
几乎所有的Oracle SQL教程都使用BNF。谢谢! - another

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接