我尝试在 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 - “缺少关键字”
*原因:
*行动:
最佳答案
私有(private)临时表 (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
接下来,您必须使用 private_temp_table_prefix 参数设置的任何内容作为 PTT 名称的前缀:
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';
关于oracle - 无法在 Oracle SQL Developer v19.0.1 中创建 PRIVATE TEMPORARY TABLE(错误 : ORA-00905),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56758696/