Just another IT site ※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。At Your Own Risk!! TURN BACK WHILE YOU CAN
PR

【後で調べる】SQL*Plus 12.2.0.1.0製品版の新機能

※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。スクリプトはAI生成のものも多いのでコピー&ペーストの際は文字コードに注意ください!
スポンサーリンク
バッチ処理の自動化スキルは市場価値が高いです。今の自分の単価を調べてみませんか?
顧客常駐はもう嫌だ!社内SEへ転職するなら【社内SE転職ナビ】
Cursor・Claude Code・Codex AIスキルを学ぶなら
環境構築不要!AIエージェント開発を非エンジニアでも即実践【AI Agent Camp】

SQL*Plusリリース・ノート, 18c

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で引用符を削除する方法も有効です。 
基本的な使い方
  1. SQL*Plusでコマンドを実行:
    sql
    SET 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形式でコンソールに出力されます。 
カスタマイズオプション
  • 引用符なしで出力:
    sql
    SET MARKUP CSV ON QUOTE OFF;
    
  • 区切り文字を変更する(例: タブ区切り):
    sql
    SET MARKUP CSV ON DELIMITER CHR(9); -- CHR(9)はタブ文字
    
  • 起動時に指定する:
    bash
    sqlplus user/pass@db -M "CSV ON"
    
  • ファイルに出力する(SQL*Plusスクリプト):
    sql
    SET MARKUP CSV ON HEADING OFF FEEDBACK OFF PAGESIZE 0;
    SPOOL output.csv
    SELECT * FROM your_table;
    SPOOL OFF;
    
    • SPOOLコマンドでファイルにリダイレクトします。 
これらのコマンドにより、SQL*Plusから簡単に整形されたCSVデータを生成できます。 

 

タイトルとURLをコピーしました