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

Oracleテーブルの行を列に変換する方法

    最近、50列のOracleテーブルに遭遇しました。特定の行について、各列を分析する必要があります。行の50列を表示するのは大変だったので、行を列に変換するためにPLSQLブロックの下に作成しました。これはテーブル名を入力として受け取り、1行を列形式で出力します

    set serveroutput on
    declare
    colname varchar2(100);
    sql_str VARCHAR2(200);
    col_value varchar(100);
    --------- !!!! Carefully change this select state ment !!! --------------
    cursor cur2 is select COLUMN_NAME from dba_tab_columns where TABLE_NAME='&1';
    begin
    for rec1 in cur2
    loop
    colname :=rec1.COLUMN_NAME;
    sql_str:='select '|| colname ||' from apps.&&1 where rownum< 2';
    EXECUTE IMMEDIATE sql_str into col_value;
    dbms_output.put_line ( colname ||':'||col_value );
    end loop;
    end;
    /
    
    

    1. 時間間のデータベース内の同時イベントの検索

    2. 接続プールを使用したPostgreSQLでの接続のスケーリング

    3. 値を1つのフィールドから2つに分割

    4. SQLServerでクエリ結果の行数を返す方法