外部ファイルまたはキーボードからデータベース・テーブルにデータをインポートします。
output to filename
[ append ]
[ verbose ]
[ format output-format ]
[ escape character character ]
[ escapes { on | off}
[ delimited by string ]
[ quote string [ all ] ]
[ column widths (integer , .. . ) ]
[ hexidecimal { on | off | asis } ]
[ encoding encoding ]
output-format:
ascii | dbase | dbasell| dbaselll
| excel | fixed | foxpro | lotus | sql | xml
encoding:string または identifier
append − クエリの結果を、既存の出力ファイルに記述されている内容を上書きするのではなく、ファイルの末尾に追加します。append 句を使用しない場合、output 文はデフォルトで出力ファイルの内容を上書きします。append キーワードは、出力フォーマットが ASCII、fixed、または SQL の場合に使用できます。
verbose − クエリに関するエラー・メッセージ、データの選択に使用した SQL 文、およびデータ自体を出力ファイルに書き込みます。データが含まれない行には、先頭に 2 つのハイフンが記入されます。verbose を省略すると (つまり、デフォルトでは)、データだけがファイルに書き込まれます。verbose キーワードは、出力フォーマットが ASCII、fixed、または SQL の場合に使用できます。
次の出力フォーマットを指定できます。
ascii − ASCII フォーマットでファイルに出力され、1 行につき 1 ローが書き込まれます。すべての値がカンマで区切られ、文字列はアポストロフィ (一重引用符) で囲まれます。デリミタと引用符文字列は、delimited by 句と quote 句を使用して変更できます。quote 句に all が指定されている場合は、文字列だけでなく、すべての値に引用符が付きます。
使用できる特別なシーケンスが 3 つあります。2 文字 (¥n) は改行文字を表し、"¥" は単一の円記号 (¥) を表し、¥xDD のようなシーケンスは 16 進コード DD の文字を表します。これがデフォルトの出力フォーマットです。
dbasell − カラム定義を含む DBASEll フォーマットで出力されます。最大 32 カラムまで出力できます。カラム名は 11 文字にトランケートされ、それぞれのローの各カラムのデータは 255 文字にトランケートされます。テーブルが存在しない場合には、テーブルを作成します。
dbaselll − カラム定義を含む dBASE III フォーマットのファイルで出力されます。最大 128 カラムまで出力できます。カラム名は 11 文字にトランケートされ、それぞれのローの各カラムのデータは 255 文字にトランケートされます。
excel − Excel 2.1 のワークシートに出力されます。ワークシートの最初のローには、カラムのラベル (ラベルが定義されていない場合はカラム名) が含まれます。実際のテーブル・データは、ワークシートの 2 番目以降のローに書き込まれます。
fixed − 各カラムは、固定幅を持つ固定フォーマットで出力されます。各カラムの幅は、column widths を使用して指定できます。このフォーマットでは、カラム見出しは出力されません。
column widths 句を省略した場合、各カラム幅はそのカラムのデータ型をもとに、そのデータ型の値を保持するのに十分な大きさになるように計算されます。ただし、long varchar と long binary のデータのみ、デフォルトで 32KB になります。
foxpro − カラム定義を含む FoxPro フォーマットのファイルで出力されます。最大 128 カラムまで出力できます。カラム名は 11 文字にトランケートされ、それぞれのローの各カラムのデータは 255 文字にトランケートされます。
html − ハイパーテキスト・マークアップ言語フォーマットで出力されます。
lotus − Lotus WKS フォーマットのワークシートとして出力されます。カラム名はワークシートの最初のローに配置されます。(Lotus 1-2-3 などの) 他のソフトウェアがロードできる Lotus WKS フォーマットのワークシートには、最大サイズに一定の制限があります。Interactive SQL が生成するファイルのサイズに制限はありません。
SQL − テーブル内の情報を再作成するのに必要な Interactive SQL input 文が出力されます。
XML − UTF-8 でエンコードされ、DTD が埋め込まれた XML ファイルに出力されます。バイナリ値は、バイナリ・データを 2 桁の 16 進文字列でエンコードし、CDATA ブロックに保存します。input 文のファイル・フォーマットに XML を指定することはできません。
escape character − 16 進のコードおよび記号に使用するデフォルトのエスケープ文字は、円記号 (¥) です。たとえば、¥x0A は改行文字です。
デフォルトのエスケープ文字は、escape character 句を使用して変更できます。たとえば、感嘆符 (!) をエスケープ文字として使用するには、次のように入力します。
... escape character ‘!’
escapes − escapes を有効 (デフォルト) にすると、データベース・サーバは、円記号に続く文字を特別な文字として認識および解釈します。改行文字は ¥n という組み合わせで、他の文字は 16 進の ASCII コード (例: タブ文字は ¥x09) でデータに含まれます。2 つの円記号 (¥¥) は 1 つの円記号として解釈されます。円記号の後に n、x、X、¥ 以外の文字がある場合、この文字と円記号は無関係の 2 つの文字として解釈されます。たとえば、¥q は円記号と文字 q として挿入されます。
delimited by − 出力フォーマットが ASCII の場合にだけ使用できます。デリミタ文字列は、カラムの間に置かれます (デフォルトはカンマ)。
quote − 出力フォーマットが ASCII の場合にだけ使用できます。引用符文字列は、文字列の値の前後に置かれます。デフォルトは一重引用符です。quote 句に all を指定すると、引用符文字列は文字列の前後だけでなく、すべての値の前後に置かれます。
column widths − fixed フォーマットの出力にカラム幅を指定します。
hexidecimal − 出力フォーマットが ASCII の場合にだけ使用できます。バイナリ・データをアンロードする方法を指定します。オンに設定すると、バイナリ・データは 0xabcd のようなフォーマットでアンロードされます。オフに設定すると、バイナリ・データはアンロード時に (¥xab¥xcd のように) エスケープされます。asis を設定すると、値が制御文字を含んでいても、そのまま (エスケープなしで) 書き込まれます。asis は、テキストにタブや復帰改行などのフォーマット文字列が含まれる場合に使用します。
encoding − ファイルの書き込みに使用するエンコーディングを指定できます。encoding 句を使用できるのは ASCII フォーマットだけです。
encoding を指定しない場合、Interactive SQL はファイルの書き込みに使用するコード・ページを次のリストのように決定します。このリストで先に示すコード・ページの値は、後に示す値よりも優先されます。
default_isql_encoding オプションで指定されたコード・ページ (このオプションが設定された場合)
Interactive SQL を開始するとき -codepage オプションで指定されたコード・ページ
Interactive SQL を実行しているコンピュータのデフォルトのコード・ページ
employee テーブルの内容を、ファイルに ASCII フォーマットで書き込みます。
select * from employee go output to employee.txt format ASCII
既存のファイルの末尾に employee テーブルの内容を書き込みます。また、クエリに関するすべてのメッセージも同様に、このファイルに含めます。
select * from employee go output to employee.txt append verbose
改行文字を含む値をエクスポートすると仮定します。改行文字は数値 10 を持ち、SQL 文では文字列 '¥x0a' と表現されます。hexidecimal に on を設定して、次の文を実行します。
select ‘line1 n x0aline2’ go output to file.txt hexidecimal on
次のテキストを含む 1 行のファイルが出力されます。
line10x0aline2
しかし、同じ文で hexidecimal に off を設定した場合、次の行が出力されます。
line1 n x0aline2
最後に、hexidecimal に asis を設定すると、次の 2 行から成るファイルが出力されます。
line1 line2
asis を指定すると出力が 2 行になるのは、行間の改行文字を 2 桁の 16 進表現に変換したり、改行文字の先頭に他の文字を追加したりせずに、そのままエクスポートされるためです。
output 文は、現在のクエリで取得された情報をファイルにコピーします。
出力フォーマットは、オプションの format 句に指定します。format 句を指定しない場合は、Interactive SQL の output_format オプションの設定が使用されます。
現在のクエリとは、[Results] ウィンドウ枠の [Results] タブに表示される情報を生成した、select 文または input 文のことです。現在のクエリがない場合、output 文はエラーをレポートします。
このコマンドは、すべてのユーザが実行できます。
Interactive SQL では、現在のクエリの結果のみが [Results] タブに表示されます。前回のクエリの結果はすべて、現在のクエリの結果に置き換えられます。
input