我使用变量来存储多行,我想将它插入临时表中。 此查询返回多行
BEGIN
SELECT id INTO
temp_var
FROM TABLE_1 a,
TABLE_2 b
where a.id =b.id;
EXCEPTION
WHEN NO_DATA_FOUND THEN
temp_var := NULL;
END;
我想将变量值插入临时表?
答案 0 :(得分:1)
假设:当你说"临时表"您的意思是SQL Server用法,它是Oracle中的PL / SQL集合。
此处变量temp_var
是一个嵌套表,其复合结构与table_1
的投影相匹配。
declare
type table1_nt is table of table_1%rowtype;
temp_var table1_nt;
begin
select *
bulk collection into temp_var
from table_1;
....
end;
这为您提供了一个数组中table_1
的内容,您可以在PL / SQL中使用它。 Find out more
根据您修改后的要求,使用单个属性非常容易:
declare
type id_nt is table of varchar2(20); -- table_1.id%type
temp_var id_nt;
begin
select a.id
bulk collection into temp_var
from table_1 a,
join table_2 b
on a.id =b.id; ;
....
end;