【发布时间】:2018-12-18 16:57:41
【问题描述】:
尝试创建临时表时收到错误消息。我直接从 Oracle 的网站复制了这段代码。我还下载了最新版本 18.2。我在这里错过了什么?
CREATE PRIVATE TEMPORARY TABLE ora$ptt_my_temp_table
(
id NUMBER(10,2),
description VARCHAR2(20)
)
ON COMMIT PRESERVE DEFINITION;
错误信息:
Error starting at line : 1 in command -
CREATE PRIVATE TEMPORARY TABLE ora$ptt_my_temp_table
(
id NUMBER(10,2),
description VARCHAR2(20)
)
ON COMMIT PRESERVE DEFINITION
Error report -
ORA-00905: missing keyword
00905. 00000 - "missing keyword"
*Cause:
*Action:
【问题讨论】:
-
您确定连接到 Oracle 18c 吗?我猜 18.2 是 SQL Developer(客户端工具)的版本。
-
我习惯使用 Microsoft SQL。我怎么知道我是否连接到 Oracle 18c。
-
你混合了很多东西。首先是 Microsoft SQL Server != Oracle DB。第二个客户端工具(SQL Developer/SSMS)!= 服务器端数据库。最后,您发布的示例清楚地表明您需要连接到支持私有临时表(即 18c)的实例。我建议发布您的客户端工具和确切查询的屏幕截图。我猜你已经连接到 Oracle 11g/12c。
-
试试
select * from v$version v where v.banner like 'Oracle Database%';对于 SQL Developer 应用程序,它应该在启动初始屏幕和标准帮助 > 关于下显示一个版本号。 -
上述语句在 18c livesql.oracle.com 中运行良好,但在早期版本中给出了 ORA-00905: missing keyword。投票结束。
标签: oracle temp-tables