【问题标题】:Toad of Oracle - create private temporary tablesToad of Oracle - 创建私有临时表
【发布时间】:2019-04-04 04:12:16
【问题描述】:

尝试创建私有临时表但不断收到错误消息,[错误]执行 (1: 16): ORA-00905: 缺少关键字

单词 TEMPORARY 带有红色下划线,当我将鼠标悬停在它上面时显示 Found 'TEMPORARY' Expecting: 'OUTLINE' 这是什么意思,是否会导致错误?

CREATE PRIVATE TEMPORARY TABLE ora$ptt_orders AS
(
 select * from orders 
 where rownum < 10
)
ON COMMIT PRESERVE DEFINITION;

【问题讨论】:

  • 您使用的是哪个 Oracle 版本?
  • Toad for Oracle? v.11.6.0.43
  • 私有临时表仅在 Oracle 18c 中可用。你还在使用 11g。
  • 好的,谢谢,有什么方法可以只在 11.6 版中为会话创建临时表?
  • TOAD 版本和 Oracle 版本混合使用吗? Oracle 版本 11.6.0.43 不存在。试试select * from v$version;

标签: oracle temp-tables toad


【解决方案1】:

你不能在你的数据库版本中创建一个 private 临时表(正如你被告知的那样)。

但是,您可以改为创建一个 全局 临时表。使用 as select,语法类似于此示例:

SQL> create global temporary table ptt_orders
  2  on commit preserve rows
  3  as
  4  select * from emp
  5  where deptno < 50;

Table created.

SQL>

您可以选择在提交时如何处理行 - 保留或删除它们。区别在于您在会话或事务期间是否可以使用表格内容。

【讨论】:

    猜你喜欢
    • 2011-04-10
    • 2016-04-02
    • 2015-12-12
    • 2019-12-07
    • 1970-01-01
    • 2018-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多