SQL*Plusリリース・ノート, 18c
上記リンクより
SQL*Plusリリース12.2.0.1は、SQL*Plusリリース12.1のスーパーセットです。
この項では、今回のリリースのSQL*Plusで導入された新機能について説明します。一部の機能は、SQLPLUSCOMPATIBILITY設定によって影響を受ける場合があります。SQL*Plusユーザーズ・ガイドおよびリファレンスの第12章「SQL*Plusコマンド・リファレンス」の「SET SQLPLUSCOMPATIBILITYのマトリックス」を参照してください。
- コマンド履歴のサポートコマンド履歴機能によって、ユーザーは以前使用したSQL*Plus、SQLまたはPL/SQLのコマンドを現在のセッションの履歴リストから実行、編集または削除できます。
- 長い識別子のサポートSQL*Plusでは、オブジェクトの長さが128バイトまでサポートされます。以前のリリースでは、オブジェクトの長さの制限は30バイトでした。
- パフォーマンスを向上させるコマンドSET LOBPREF[ETCH]、SET ROWPREF[ETCH]およびSET STATEMENTC[ACHE]は、文キャッシュに加えて行プリフェッチおよびLOBプリフェッチを制御する新規コマンドです。
- 新しい管理権限SQLPLUSコマンドおよびCONNECTコマンドでは、既存のSYSBACKUP |SYSDG |SYSKM |SYSASM |SYSDBA |SYSOPER権限に加えて、新たにSYSRACユーザー権限がサポートされます。
- 入力バインドのサポートVARIABLEコマンドでは、SQL文およびPL/SQL文で使用できる入力バインドがサポートされます。
- CSV形式でのデータ抽出のサポートSET MARKUPコマンドにより、CSV形式でのデータの表示がサポートされます。
- 問合せで返されたデータの抑制のサポートSET FEEDBACKコマンドのONLYオプションは、問合せで返されたデータの表示を抑制します。選択され問合せにより返された行の数が表示されます。
- アプリケーション・コンティニュイティのサポートSQL*Plusコマンドライン・オプション–ACは、セッション内のアプリケーション・コンティニュイティを有効にします。アプリケーション・コンティニュイティの詳細は、Oracle Call Interfaceプログラマーズ・ガイドを参照してください。
- 一般パフォーマンスの向上SQL*Plusコマンドライン・オプション –F[ast]により、一般パフォーマンスが向上します。
SQL*PlusでのCSV形式出力
【AIによる回答】
SQLPlusでCSV形式でデータをエクスポートするには、SET MARKUP CSV ONコマンドを使用します。これにより、SELECT文の結果がカンマ区切りのテキスト(デフォルトではダブルクォート付き)で出力され、ヘッダー行や引用符の有無、区切り文字(DELIMITER)もカスタマイズ可能です。SQLPlusの起動時に-M CSV ONオプションを指定する方法や、QUOTE OFFで引用符を削除する方法も有効です。基本的な使い方
- SQL*Plusでコマンドを実行:
sqlSET MARKUP CSV ON; SET PAGESIZE 0; -- ヘッダー行やフッター行、ページ番号を出さないため SET FEEDBACK OFF; -- 影響行数メッセージを出さないため SELECT column1, column2 FROM your_table;
SET MARKUP CSV ON: CSV形式での出力を有効にします。SET PAGESIZE 0: ページング(ヘッダー、フッター)を無効にし、データのみを出力します。SET FEEDBACK OFF:(100 rows selected)のようなメッセージを抑制します。SELECT文を実行すると、データがCSV形式でコンソールに出力されます。カスタマイズオプション
- 引用符なしで出力:
sqlSET MARKUP CSV ON QUOTE OFF;- 区切り文字を変更する(例: タブ区切り):
sqlSET MARKUP CSV ON DELIMITER CHR(9); -- CHR(9)はタブ文字- 起動時に指定する:
bashsqlplus user/pass@db -M "CSV ON"- ファイルに出力する(SQL*Plusスクリプト):
sqlSET MARKUP CSV ON HEADING OFF FEEDBACK OFF PAGESIZE 0; SPOOL output.csv SELECT * FROM your_table; SPOOL OFF;
SPOOLコマンドでファイルにリダイレクトします。これらのコマンドにより、SQL*Plusから簡単に整形されたCSVデータを生成できます。
