sql >> Databasteknik >  >> RDS >> Oracle

Slå dynamiskt upp kolumnnamn för en tabell i en sql-fråga

Denna PL/SQL borde göra det:

declare
    l_cols long;
    l_sql  long;
begin
    for r in (select column_name from all_tab_columns
              where  table_name = 'TABLEA'
              and    owner = 'SCHEMA1'
             )
    loop
       l_cols := l_cols || ',' || r.column_name;
    end loop;

    -- Remove leading comma
    l_cols := substr(l_cols, 2);

    l_sql := 'insert into schema1.tableA (' || l_cols || ') select ' 
             || l_cols || ' from schema2.tableA';

    execute immediate l_sql;

end;
/


  1. Vad är nytt i PostgreSQL 12

  2. Hur man subtraherar dagar i MySQL

  3. Hur man säkerhetskopierar MySQL-databaser med AutoMySQLBackup

  4. Att få anslutningen misslyckades:php_network_getaddresses:getaddriinfo misslyckades:Namn eller tjänst okänd