Oracle
 sql >> Baza danych >  >> RDS >> Oracle

PL/SQL wyodrębnij nazwy kolumn instrukcji SELECT z niestandardowego zapytania

Możesz przeanalizować instrukcję za pomocą DBMS_SQL.parse i pobierz kolumny z DBMS_SQL.describe_columns :

DECLARE
  v_SQL VARCHAR2(32767 CHAR);
  v_Result VARCHAR2(32767 CHAR) := '';
  l_cursor        PLS_INTEGER;
  l_col_cnt       PLS_INTEGER;
  i               PLS_INTEGER;
  l_desc_tab      DBMS_SQL.desc_tab;
BEGIN 
  v_SQL := q'[SELECT 1 as "MY_NUMBER", 'z' as "MY_CHAR" from dual]';
  l_cursor := DBMS_SQL.open_cursor;
  DBMS_SQL.parse(l_cursor, v_SQL, DBMS_SQL.native);
  DBMS_SQL.describe_columns(l_cursor, l_col_cnt, l_desc_tab);

  FOR i IN 1 .. l_col_cnt LOOP
    v_Result := v_Result ||' ' || l_desc_tab(i).col_name;
  END LOOP;

  DBMS_OUTPUT.put_line('v_Result: ' || v_Result);

END;
/



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle SQL:jak znaleźć tylko rekord z grupy

  2. Dlaczego Oracle zwraca określoną sekwencję, jeśli wartości „orderby” są identyczne?

  3. Chciałbym przeprowadzić migrację Oralce DB do Amazon Redshift z AWS SCT

  4. jak obliczyć czas sumaryczny z typem danych char w Oracle

  5. Czy pula połączeń jest koniecznością w ODP.NET?