is versus as pl/sql
is versus as pl/sql
我认为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"会有区别?
谢谢。
问题的出现原因是在PL/SQL中,有时候使用AS关键字是不被允许的,而使用IS关键字是被允许的;反之,有时候使用IS关键字是不被允许的,而使用AS关键字是被允许的。这是语言的一种特殊情况。
解决方法是根据具体情况选择使用IS或AS关键字。一般来说,在SQL中只能使用AS关键字,而在PL/SQL中,IS关键字更为常见。根据Oracle文档的示例,大部分使用IS关键字。个人倾向于使用IS关键字,因为在语义上更合适。
参考文献:
- Oracle SQL Reference 11gR1
- Oracle PL/SQL Reference 11gR1
这个问题的解释有点令人困惑,正如比尔·克林顿曾经观察到的那样,“这取决于‘is’这个词的意思是什么”(参考链接:youtube.com/watch?v=j4XT-l-_3y0)。
总之,AS关键字并不总是被允许在IS关键字可以使用的地方,反之亦然。这句话真是精辟!