我试图在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-“缺少关键字”
*原因:
*动作:
答案 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';