Interactive SQL から UNLOAD TABLE 文を実行して、テーブルをエクスポートできます。
前提条件
変数へのアンロード時には、権限は必要ありません。それ以外の場合、必要な権限は、データベースサーバの -gl オプションによって異なります。
-gl オプションが ALL に設定されている場合は、そのテーブルの所有者であるか、そのテーブルに対する SELECT 権限を持っているか、または SELECT ANY TABLE システム権限を持っていることが必要です。
-gl オプションが DBA に設定されている場合は、SELECT ANY TABLE システム権限が必要です。
-gl オプションが NONE に設定されている場合、UNLOAD は使用できません。
クライアントコンピュータにあるファイルにアンロードする場合
WRITE CLIENT FILE 権限が必要です。
そのファイルが置かれているディレクトリに対する書き込みパーミッションが必要です。
allow_write_client_file データベースオプションが有効になっている必要があります。
write_client_file セキュリティ機能が有効になっている必要があります。
内容と備考
テーブル内のすべてのデータを選択して、クエリ結果をエクスポートすることにより、テーブルをエクスポートできます。
UNLOAD TABLE 文を実行します。次に例を示します。
UNLOAD TABLE Departments TO 'C:\\ServerTemp\\Departments.csv'; |
この文は、SQL Anywhere サンプルデータベースの Departments テーブルを、クライアントコンピュータではなくデータベースサーバコンピュータのディレクトリにある Departments.csv ファイルにアンロードします。このファイルのパスは SQL リテラルで指定されるため、円記号は 2 つ重ねることによりエスケープされ、'\n' または '\x' などのエスケープシーケンスの変換が回避されます。
テーブルの各ローは出力ファイルの 1 行に書き出されます。また、カラム名はエクスポートされません。各カラムはカンマで区切られます。デリミタに使う文字は、DELIMITED BY 句で変更できます。フィールドは固定幅ではありません。エクスポートされるのは、各エントリの文字だけで、カラム幅全体ではありません。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |