我认为oracle对于函数和过程都对待“is”和“as”。我尝试使用“pl / sql is vs as”进行谷歌搜索,并得到以下链接,表示两者都是相同的。
IS vs AS keywords for PL/SQL Oracle Function or Procedure Creation
但我发现http://www.adp-gmbh.ch/ora/plsql/coll/declaration.html#index_by似乎表明存在差异。有人(列出/指向我链接)其他使用“is / as”的上下文会产生什么影响吗?
感谢。
答案 0 :(得分:6)
通过示例(并非所有都是PL / SQL):
[CREATE] PROCEDURE x IS|AS ...
[CREATE] FUNCTION x IS|AS ...
CREATE PACKAGE [BODY] x IS|AS ...
CREATE TYPE [BODY] x IS|AS ...
CURSOR x IS ...
TYPE x IS ...
SUBTYPE x IS ...
CREATE TABLE x AS subquery
SELECT x AS "y" FROM z AS "w"
WITH x AS (SELECT ...
因此,AS
并非始终允许IS
,而IS
的{{1}}并非总是允许AS
。)
我认为,只是这种语言的一个怪癖。通常,我认为IS
更常见,除了AS
是唯一的选项(如上面的SQL示例中所示)。 Oracle文档中的大多数示例似乎都使用IS
,而我个人认为这是我的偏好,因为在我看来它更符合语义。
参考文献: