Oracle
 sql >> Datenbank >  >> RDS >> Oracle

PL SQL, wie man alle Spalten auswählt

Ich bin mir nicht sicher, ob ich Ihre Frage und Anforderung verstehe.

Aber wenn Sie nach einer Möglichkeit suchen, den Inhalt einer Tabelle oder einen Teil davon abzurufen, gehen Sie wahrscheinlich so vor:

create table tq84_test_table (
  col_1 number,
  col_2 varchar2(10),
  col_3 date
);

insert into tq84_test_table values (1, 'one'  , sysdate);
insert into tq84_test_table values (2, 'two'  , sysdate+1);
insert into tq84_test_table values (3, 'three', sysdate-1);


create or replace package tq84_sss as

  type record_t is table of tq84_test_table%rowtype;

  function GetADedIcWarningsProv return record_t;

end;
/

create or replace package body tq84_sss as

  function GetADedIcWarningsProv return record_t 
  is 
      ret record_t; 
  begin

      select * bulk collect into ret
      from tq84_test_table;

      return ret;

  end GetADedIcWarningsProv;

end;
/

Sie würden diese Funktion dann später so verwenden:

declare

  table_content tq84_sss.record_t;

begin

  table_content := tq84_sss.GetADedIcWarningsProv;

  for i in 1 .. table_content.count loop

      dbms_output.put_line(table_content(i).col_1 || ' ' ||
                           table_content(i).col_2 || ' ' ||
                           table_content(i).col_3 
                          );

  end loop;

end;
/