sql >> Databasteknik >  >> RDS >> Oracle

Pl/SQL- Få kolumnnamn från en fråga

Jag tror att du kan använda DESCRIBE_COLUMNS för att göra detta. Lägg bara in markören och de andra nödvändiga parametrarna.

http://docs.oracle.com/cd /B19306_01/appdev.102/b14258/d_sql.htm#i1026120

declare
    v_sql varchar2(32767) := 'select 1 column1, 2 column2 from dual';
    v_cursor_id integer;
    v_col_cnt integer;
    v_columns dbms_sql.desc_tab;
begin
    v_cursor_id := dbms_sql.open_cursor;
    dbms_sql.parse(v_cursor_id, v_sql, dbms_sql.native);
    dbms_sql.describe_columns(v_cursor_id, v_col_cnt, v_columns);

    for i in 1 .. v_columns.count loop
        dbms_output.put_line(v_columns(i).col_name);
    end loop;

    dbms_sql.close_cursor(v_cursor_id);
exception when others then
    dbms_sql.close_cursor(v_cursor_id);
    raise;
end;
/

Output:
COLUMN1
COLUMN2


  1. Konvertera Oracle legacy outer join till Ansi SQL

  2. Oracle får siffror med räckvidd

  3. Hur man undviker ORA-04091-fel inom en trigger

  4. Hur man kontrollerar om en användare klickade på [Avbryt] på en InputBox i VBA