无法在Oracle SQL Developer v19.0.1中创建PRIVATE TEMPORARY TABLE(错误:ORA-00905)

时间:2019-06-25 16:50:57

标签: oracle

我试图在Oracle SQL Developer(v.19.0.1)中创建一个临时表,但是它抛出错误:ORA-00905:缺少关键字

CREATE PRIVATE TEMPORARY TABLE sales AS

SELECT SalesDate, Product, Quantity
FROM BI.Sales a
JOIN PRODREF.SKU b on a.item_ID = b.sku
WHERE SalesDate >= '01-JUN-19';

错误报告- ORA-00905:缺少关键字 00905. 00000-“缺少关键字” *原因:
*动作:

1 个答案:

答案 0 :(得分:0)

私有临时表(PTT)是Oracle Database 18c的功能。 Oracle SQL Developer是一个单独的产品,具有自己的版本号。

因此,首先请确保您使用的数据库在此版本或更高版本上:

select banner from v$version;

BANNER                                                                   
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production  

下一步,您必须在PTT的名称前面加上private_temp_table_prefix参数设置为的值

sho parameter private

NAME                      TYPE   VALUE    
------------------------- ------ -------- 
private_temp_table_prefix string ORA$PTT_ 

ORA $ PTT_是默认值。因此,您的创建表可能应该是:

CREATE PRIVATE TEMPORARY TABLE ora$ptt_sales AS
  SELECT SalesDate, Product, Quantity
  FROM BI.Sales a
  JOIN PRODREF.SKU b on a.item_ID = b.sku
  WHERE SalesDate >= '01-JUN-19';