2017-06-15 4 views
0

ヘッダ?すべてのヘルプをいただければ幸いですのOracle SQLプロシージャは、ので、私はこのように私のテーブルのスタイルを設定しようとしていレイアウト

BEGIN 
OPEN e_cursor2; 
dbms_output.put_line('' || chr(10)); 
DBMS_OUTPUT.PUT_LINE('ORDER LINE DETAILS: '); 
DBMS_OUTPUT.PUT_LINE('Line# ' || 'Make   ' || 'Model   ' || 'Year ' || 'QTY ' || 'Item Price  ' || 'SUBTOTAL'); 
DBMS_OUTPUT.PUT_LINE('----- ' || ' ----  ' || ' ----- ' || '   ---- ' || ' --- ' || ' ---------- ' || ' -------- '); 
dbms_output.put_line('' || chr(10)); 
LOOP 
FETCH e_cursor2 INTO e_row2; 
EXIT WHEN e_cursor2%NOTFOUND; 
DBMS_OUTPUT.PUT_LINE(e_cursor2%rowcount || '  ' || chr(32) || e_row2.i_make || '  ' ||e_row2.i_model || '   ' || 
              e_row2.i_year || '  ' || e_row2.ol_qty || '  ' ||e_row2.i_price || '  ' ||e_row2.i_price); 
END LOOP; 

はここで、 "開始" 内の私のコードです!個人的に

...あなたが例えばLPAD文字列関数とコースのブルートフォースそれを((TO_CHAR(数値列)のことができ、固定長書式設定を行うためにツルーイングされ

答えて

0

:)ありがとう、私はPLを選択しないだろう/ SQLを使用する代わりに、SQL * PlusのHTML書式を使用してください。

1

これまでの回答では、SQL * PlusでHTML書式を使用することに同意する傾向がありますが、それはあなたが求めている方法です。各列のサイズを固定し、lpadまたはrpadで埋め尽くす必要があります。このようなものはあなたが必要とするものを行います:

BEGIN 
OPEN e_cursor2; 
dbms_output.put_line('' || chr(10)); 
DBMS_OUTPUT.PUT_LINE('ORDER LINE DETAILS: '); 
DBMS_OUTPUT.PUT_LINE(rpad('Line#',8) || rpad('Make',8) || rpad('Model',14) || rpad('Year',7) || rpad('QTY',8) || rpad('Item Price',14) || rpad('SUBTOTAL',10)); 
DBMS_OUTPUT.PUT_LINE(rpad('-----',8) || rpad('----',8) || rpad('-----',14) || rpad(' ',7) || rpad('---',8) || rpad('----------',14) || rpad('--------',10)); 
dbms_output.put_line('' || chr(10)); 
LOOP 
FETCH e_cursor2 INTO e_row2; 
EXIT WHEN e_cursor2%NOTFOUND; 
DBMS_OUTPUT.PUT_LINE(rpad(e_cursor2%rowcount,8) || 
        rpad(e_row2.i_make,8)  || 
        rpad(e_row2.i_model,14) || 
        rpad(e_row2.i_year,7)  || 
        rpad(e_row2.ol_qty,8)  || 
        rpad(e_row2.i_price,14) || 
        rpad(e_row2.i_price,10) ); 
END LOOP; 

私はおそらくいくつかの間違いをしたにもかかわらず、アイデアを得ることができます。私は先に進んでタイトル行の要素をそれぞれパディングして、すべてが整列するようにしました。すべてが正しくこのように出てくるようにするのは永遠ですが、すべてが一緒になるととても楽しいです。

+0

原則的に正しいです。規約は 'rpad()'文字列とカラム見出しですが、 'lpad()'の数字(日付は明らかに固定長です)です。もう1つは、列の間隔を個々の列の長さと区別することです。レイアウトを改善しやすくなります。 – APC

関連する問題