【问题标题】:What is 'THE' keyword in Oracle?Oracle 中的“THE”关键字是什么?
【发布时间】:2014-04-25 01:00:23
【问题描述】:

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

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

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

谢谢

【问题讨论】:

    标签: sql oracle keyword


    【解决方案1】:

    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);
    

    来自Oracle Documentation

    【讨论】:

    • 另外值得一提的是11.2 documentation 中的注释:“在早期的Oracle 版本中,当collection_expression 是子查询时,table_collection_expression 被表示为THE 子查询。现在不推荐使用这种用法。”
    猜你喜欢
    • 2014-11-29
    • 1970-01-01
    • 2022-12-05
    • 2011-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-07
    • 2011-02-09
    相关资源
    最近更新 更多