在 Oracle 数据库中编写某些过程期间,我遇到了一个问题,我试图用BLOB
数据类型的列定义 PRIVATE 临时表,但它没有让我这样做。
创建 PRIVATE 临时表的代码:
CREATE PRIVATE TEMPORARY TABLE ora$ptt_Test (
id NUMBER(19),
userdata BLOB);
当我尝试执行上面的语句时,我得到:
ORA-14451:临时表 14451 不支持的功能。
00000 - “临时表不支持的功能”
*原因:尝试创建 IOT、指定物理属性、
指定分区或并行子句。
*行动:不要那样做。
但如果我评论userdata
专栏,它会成功执行。
我在文档中可以找到的是,创建 PRIVATE 临时表(自 18c 起可用)的限制/约束应该与 PUBLIC 临时表(在 18c 版之前也可用)相同,但事实并非如此,因为我试过用BLOB
列定义 PUBLIC 临时表,它起作用了。