0

PL / SQL行を反復処理する方法を長い間探していますが、適切な結果が得られませんでした。

たとえば、次のようなPL / SQL行が row(first_name,last_name)あり、行についての知識がなくてもPL / SQLを使用して名と姓を出力したい場合、つまり行がどのように見えるかわからない場合は、このようなコードのようなもの

FOR column IN My_Row  --some way to iterate through the row.
LOOP
    PRINT column...   --do my stuff, in this example
END LOOP;
4

1 に答える 1

1

行の元のテーブルの名前がわかっている場合は、から列の名前を取得できますALL_TAB_COLUMNS。その周りに動的SQLを構築できます。次のようなものについては、このAsk Tomの記事を参照してください:列名を使用せずに%rowtype変数を参照する

コメントに基づいて、すべてのテーブルを調べて、ALL_TABLESすべての名前を取得するために使用できるようにします。ALL_TABLESただし、ログインがアクセスできるすべてのテーブルDBA_TABLESはデータベース内のすべてのテーブルでありUSER_TABLES、ユーザーが所有するテーブルであることを忘れないでください。

于 2012-02-15T10:46:21.387 に答える