我只是想知道是否可以使用bulkcollect将数据从一个pl / sql表插入到另一个pl / sql表中?
我正在尝试但看起来它在概念上是不可能的,唯一的方法是遍历Pl / sql表。
任何见解都会非常有用。 感谢
下面是我正在尝试的简化版本。我想我在这里犯了一些概念上的错误。因此它不起作用:
DECLARE
TYPE ROWTBL IS TABLE OF BW_COLUMN.NAME%TYPE ;
PL_TBL_ROW ROWTBL;
TYPE COLNAME_TBL IS TABLE OF BW_COLUMN.NAME%TYPE ;
PL_TBL_COLNAME COLNAME_TBL;
BEGIN
SELECT NAME
BULK COLLECT INTO PL_TBL_ROW
FROM TBL_COL WHERE TBL_ID = 2000081;
SELECT NAME
BULK COLLECT INTO PL_TBL_COLNAME
FROM PL_TBL_ROW;
END;
答案 0 :(得分:1)
BULK COLLECT
是一种有效地将数据读入PL / SQL数据结构的机制,因此可以通过PL / SQL代码处理它们。你当然可以使用这种方法将数据从一个表复制到另一个表但我怀疑它可能比使用INSERT语句的简单方法花费更多的时间,例如
BEGIN
INSERT INTO SOME_TABLE (COL_1, COL_2, COL_N)
SELECT COL_1, COL_2, COL_N
FROM SOME_OTHER_TABLE
WHERE SOME_FIELD = SOME_OTHER_VALUE;
END;
祝你好运。