首先我创建了一个类型和一个表类型。
CREATE OR REPLACE TYPE LAB_LOADING_OBJECT_T
AS
object
(
STUDYID VARCHAR2(300),
USUBJID VARCHAR2(300),
..... /*So many columns, so I hide them*/
);
/
CREATE OR REPLACE TYPE LAB_LOADING_TABLE_T
AS
TABLE OF LAB_LOADING_OBJECT_T;
然后我创建一个表,该列与上面提到的LAB_LOADING_OBJECT_T相同:
CREATE TABLE TMP_EFC11319_LAB_LOADING_T
(
STUDYID VARCHAR2(300),
USUBJID VARCHAR2(300),
..... /*So many columns, so I hide them*/
);
最后,我尝试在名为TMP_EFC113_LAB_LOADING_T的表中选择值:
SELECT *
BULK COLLECT INTO TMP_EFC11319_LAB_LOADING_T
FROM EFC113$STABLE.LBLL ;
LBLL的列与表TMP_EFC113_LAB_LOADING_T相同。但是我遇到了一条错误消息:
------------- ORA-03001: unimplemented feature 03001. 00000 - "unimplemented feature" *Cause: This feature is not implemented. *Action: None. Error at Line: 2 Column: 1 --------------
我不知道是什么造成了错误。
答案 0 :(得分:0)
据我所知,这种类型根本不涉及。看起来您正在尝试从视图中选择(EFC113 $ STABLE.LBLL)并插入表(TMP_EFC11319_LAB_LOADING_T)。如果是这种情况,那么执行此操作的方法不是尝试在表中执行BULK COLLECT - 您需要以类似于以下的方式使用INSERT ... SELECT ...:
INSERT INTO TMP_EFC11319_LAB_LOADING_T (STUDYID, USUBJID, ...)
SELECT STUDYID, USUBJID, ...
FROM EFC113$STABLE.LBLL
或者,正如您所发现的那样,您可以
CREATE TABLE TMP_EFC11319_LAB_LOADING_T
SELECT *
FROM EFC113$STABLE.LBLL
分享并享受。