2016-04-08 4 views
0

私は質問したいと思いますが、文字列値をループするためにカーソルを使用できますか?たとえば、私は「.txtの」レポートの3タイトル欄があります。ORACLEのスプールで列名の動的化を行う方法は?

COLUMN "DATE" format a15 
COLUMN "SUBJECT" format a8 
COLUMN "CLASS" format a10 

をし、結果は同様である:

DATE      SUBJECT    CLASS 
----------------------  ------------------  ----------------- 
08-Apr-2016     Science    10 
08-Apr-2016     Social     11 

、列名は、まだ一般的なまたはハードコードです。次に、 "DATE"、 "SUBJECT"、 "CLASS"を動的に置き換える文字列値を返したいと思います。したがって、データベースにロードされたデータに従ってください。

例えば

: 私は、これらのデータが充填されているテーブルを持っている:

TITLE_COLUMN1    TITLE_COLUMN2     TITLE_COLUMN3 
DATE      SUBJECT      CLASS 

私は私の列名にするTITLE_COLUMN1、TITLE_COLUMN2、TITLE_COLUMN3から値を選択します。では、より良い方法は何ですか?

カーソル

または

変数

を使用してを使用していますか?

アドバイスありがとうございました。

+1

あなたが達成するために、正確に何をしようとしていますか? COLUMN設定を気にしない場合は、動的問合せを作成し、カーソルをオープンした後、 'print'コマンドを使用してカーソル結果を出力するPL/SQLブロックを作成できます。しかし、COLUMNの書式設定コマンドを使用することはできません。あなたの目的が単に出力ファイルを生成するだけであれば、私は多分書式化をしたいと思うならば、SQL * Plusで必要とされるすべてのフープを飛び越そうとするよりも、 'utl_file'をTom KyteのSQL * Unloaderに基づいて使う傾向があります。 –

答えて

0

あなたはSQLPlusをを使用していて、約substitution variablesを話している場合は、このことができます:

column title_column1 new_value vc1 
column title_column2 new_value vc2 
column title_column3 new_value vc3 
select title_column1,title_column2,title_column3 from test_columns; 
select &vc1,&vc2,&vc3 from test_data; 
+0

こんにちは、ありがとうございました;) – octoberafternoon

関連する問題