选择到Oracle中的临时表

2021-12-24 00:00:00 oracle plsql sqlplus

我正在尝试执行以下操作,

I am trying to do something like the following,

select * into temp from (select * from student);

它给了我以下错误,

ERROR at line 1:
ORA-00905: missing keyword

在我的真实示例中,子查询(select * from student)更复杂.

In my real example the subquery (select * from student) is more complex.

我想在存储过程中使用它,所以我不想创建表本身.我只想通过使用临时表使我的代码更具可读性.

I want to use this in a stored procedure, so I don't want to create the table itself. I just want to make my code more readable by using a temp table.

推荐答案

那么也许你需要做这样的事情:

Then perhaps you need to do something like this:

declare
   type t_temp_storage is table of student%rowtype;
   my_temp_storage t_temp_storage;
begin
   select * bulk collect into my_temp_storage from student;
   for i in 1..my_temp_storage.count
    loop
    dbms_output.put_line('here I am '||my_temp_storage(i).stuid);
   end loop; 
 end;

相关文章