与pl/sql相对

sql*_*er5 2 oracle plsql semantics

我认为oracle对于函数和程序都对待"is"和"as".我尝试使用"pl/sql is vs as"进行谷歌搜索,并得到以下链接,两者都是相同的.

PL/SQL Oracle函数或过程创建的IS与AS关键字

但我发现http://www.adp-gmbh.ch/ora/plsql/coll/declaration.html#index_by似乎表明存在差异.有人(列出/指向我的链接)其他使用"is/as"的情况会有所不同吗?

谢谢.

Jef*_*emp 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 ...
Run Code Online (Sandbox Code Playgroud)

因此,AS并不总是允许在哪里IS,并且IS不总是允许在哪里AS:)

我认为,只是这种语言的一个怪癖.通常,IS我认为更常见,除了AS唯一的选项(如上面的SQL示例中).IS在我看来,Oracle文档中的大多数示例似乎都在使用,而且就个人而言,这是我的偏好,因为它更符合语义.

参考文献:

Oracle SQL参考11gR1

Oracle PL/SQL参考11gR1