sql >> データベース >  >> RDS >> Oracle

SQLクエリ中にテーブルの列名を動的に検索する

    このPL/SQLはそれを行う必要があります:

    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. ルールを使用してセカンダリテーブルに自動インクリメントシーケンスを挿入する

    2. テーブル名がPropelで有効かどうかを確認するにはどうすればよいですか?

    3. Postgresql GROUP_CONCATと同等ですか?

    4. SQLの特定の行でnull以外の列を見つける方法は?