我 可以 定义 一 个 一 列 表 , 并 将 批量 收集 到 该 表 中 。 例如 :
create type table_of_strings as table of varchar2(200);
DECLARE
l_tab table_of_strings;
BEGIN
select emp_name bulk collect into l_tab from emp;
END;
中 的 每 一 个
但 如何 收集 到 多 列 表 中 呢 ?
create type emp_row as object (emp_name varchar2(200), emp_salary Number);
create type emp_table as table of emp_row ;
DECLARE
l_tab emp_table ;
BEGIN
-- I have tried things like this but would fail:
select (emp_name, emp_salary) bulk collect into l_tab from emp;
select emp_name, emp_salary bulk collect into l_tab from emp;
select * bulk collect into l_tab from (
select emp_name, emp_salary from emp);
END;
格式
提前 感谢 ! Peter
1条答案
按热度按时间li9yvcax1#
就像这样:
下面是一个根据Scott的模式稍微修改过的示例。
PL/SQL代码: