Oracle中的'THE'关键字是什么?

Che*_*val 6 sql oracle keyword

我想知道Oracle SQL中保留关键字'THE'的定义是什么?

我唯一知道的是它是一个功能.它可能是TABLE函数的同义词(但我不确定).

我发现的唯一痕迹是:http: //docs.oracle.com/cd/B19306_01/em.102/b40103/app_oracle_reserved_words.htm

谢谢

mas*_*son 6

THE的操作数是一个子查询,它返回一个列值供您操作.列值必须是嵌套表.否则,您会收到运行时错误.因为该值是嵌套表而不是标量值,所以必须通知Oracle,这是运算符THE所做的.

DECLARE
   adjustment INTEGER DEFAULT 1;
   ...
BEGIN
   ...
   UPDATE 
      THE(SELECT courses FROM department 
             WHERE name = 'Psychology')
      SET credits = credits + adjustment
      WHERE course_no IN (2200, 3540);
Run Code Online (Sandbox Code Playgroud)

来自Oracle文档.

  • 另外值得一提的是[11.2文档]中的注释(http://docs.oracle.com/cd/E11882_01/server.112/e26088/statements_10002.htm#SQLRF30047):"在早期版本的Oracle中,当collection_expression是一个子查询,table_collection_expression表示为子查询.该用法现已弃用." (3认同)