Sybase IQLoadステートメント



Sybase Iq Load Statement



IQロードステートメント

ロードイン



set temporary option CONVERSION_ERROR = 'OFF' LOAD TABLE dba.table01 (s1 '|',s2 '|',s3 'x0a') from '/home/a.txt' escapes off quotes off notify 100000 Ignore Constraint ALL 5000000 Message Log '/home/error/msg_0203.log' Row Log '/home/error/error_0203.log' only log ALL Log Delimited By '|' with checkpoint on commit

ロードアウト

set temporary option Temp_Extract_Column_Delimiter = '|' set temporary option Temp_Extract_Name1 = '/home/sybiq/error/out_iq.txt' select * from table01 set temporary option Temp_Extract_Name1 = ''

LOADTABLEステートメント
説明外部ASCII形式ファイルからデータベーステーブルにデータをインポートします。
構文LOAD [INTO] TABLE [owner] .table-name
...(負荷仕様[、...])
... FROMファイル名-変数[、...]
... [制約チェックオフ]
... [デフォルトオン]
...見積もりオフ
...エスケープオフ
... [FORMAT'binary ']
... [DELIMITED BY'string ']
... [ 取り除きます ]
... [チェックポイントがオフの場合]
... [ブロックサイズ番号]
... [BYTE ORDER LOW]
... [行数を制限する]
... [行数を通知する]
... [ファイルエラーロールバック時]
... [プレビューオフ]
... [ROW DELIMITED BY'delimiter-string ']
... [SKIPの行数]
... [WORDSKIP番号]
... [START ROWID番号]
... [フォーマットのアンロード]
... [IGNORE CONSTRAINT制約タイプ[、...]]
... [MESSAGE LOG‘string ’ROW LOG‘string’ [ONLY LOG logwha​​t [、...]]
... [「文字列」で区切られたログ]
パラメータの負荷仕様:
フィラー(フィラータイプ)
LOADTABLEステートメント
522 Sybase IQ
列仕様:
DATE(input-date-format)

[NULL(ZEROS)]
フィラータイプ:
'区切り文字列'
制約タイプ:
整数を確認してください
logwha​​t:
外部キー
例•ファイルからWindowsシステムの製品テーブルにデータをロードします。集計を使用する
文字は列区切り文字として使用され、その後に説明と色の列が続きます。
LOADTABLE製品
(id ASCII(6)、
フィラー(1)、
名前ASCII(15)、
フィラー(1)、
説明 ' x09'、
サイズASCII(2)、
フィラー(1)、
色 ' x09'、
数量PREFIX2、
unit_price PREFIX 2、
フィラー(2))
FROM'C:\ mydata \ source1.dmp '
見積もりオフ
エスケープオフ
BYTE ORDER LOW
1000に通知
第6章SQLステートメント
リファレンスマニュアル523
•UNIXシステムのproduct_newテーブルに2つのファイルからデータをロードします(このテーブルでは
Xu NULL値)。タブはデフォルトの列区切り文字であり、行として改行を使用します
セパレーター。
LOAD TABLE product_new
(id、
名前、
説明、
サイズ、
色 ' x09' NULL( 'null'、 'none'、 'na')、
数量PREFIX2、
unit_price PREFIX 2)
FROM '/ s1 / mydata / source2.dump'、 '/ s1 / mydata /
source3.dump '
見積もりオフ
エスケープオフ
ブロックサイズ100000
FORMAT ascii
' x09'で区切られます
ファイルエラーの続き
' n'で区切られた行
•11番目のワードが表示され、新しいエラーが表示され、ロードがロールバックされた場合、10ワードの長さの違反を無視します。
ロードテーブルPTAB1(
ck1 '、' null( 'NULL')、
ck3fk2c2 '、' null( 'NULL')、
ck4 '、' null( 'NULL')、
ck5 '、' null( 'NULL')、
ck6c1 '、' null( 'NULL')、
ck6c2 '、' null( 'NULL')、
rid '、' null( 'NULL'))
FROM'ri_index_selfRI.inp '
' n'で区切られた行
制限14スキップ10
IGNORE CONSTRAINT UNIQUE 2、FOREIGN KEY 8
ワードスキップ10引用符オフエスケープオフストリップ
オフ
使用法LOADTABLEステートメントを使用して、ASCIIまたはバイナリデータを含むファイルからデータベーステーブルに移動します。
効率的なバッチ挿入。
LOAD TABLEオプションを使用して、整合性制約に違反した場合のロード動作を制御することもできます。
違反に関する情報を記録します。
WITH CHECKPOINT ONが指定されていない場合、ロードするファイルは次の目的で保持する必要があります。
必要なときに復元します。 WITH CHECKPOINT ONが指定されている場合、チェックポイントはロード後に実行されます。
このようにして、データファイルがシステムから削除された場合でも、復元されることが保証されます。
LOADTABLEステートメント
524 Sybase IQ
一時テーブルにはLOADTABLEを使用できますが、一時テーブルはONCOMMITである必要があります
PRESERVE ROWSが宣言されています。宣言されていない場合、次のCOMMITはロードされた行を削除します。
複数のファイルを指定してデータをロードすることもできます。 FROM句で、各filenamestringを指定します
(カンマで区切られた)。ただし、メモリの制約により、SybaseIQは保証できません
カードはすべてのデータをロードできます。メモリ割り当てが失敗した場合、ロードトランザクション全体がロールバックされます。一度
左から右の順序である1つのファイルのみを読み取ります(FROM句で指定)
ライン処理。 SKIPまたはLIMIT値は、ロードの開始時にのみ適用され、それぞれには適用されません
ファイルアプリケーション。
注マルチプレックスデータベースをロードするときは、すべてのファイル名で絶対値を使用してください(完全な制限)
パス)。相対パス名は使用しないでください。
Sybase IQは、ASCIIおよびバイナリデータからのロードをサポートし、固定長フォーマットと
可変長フォーマット。これらすべての形式を処理するには、負荷仕様を指定する必要があります
ソースファイルの各「列」またはフィールドから必要なデータをSybaseIQに通知します。作る
column-specを使用して、次の形式を定義します。
•固定バイト長ASCII。 input-width値は、各レコードの入力フィールドを示します
バイト単位の固定幅整数値。
•特定の数のPREFIXバイト(1、2、または4)でバイナリ入力長を指定します
バイナリフィールド。
抽出機能を使用してデータをアンロードする場合は、TEMP_EXTRACT_BINARYオプションを設定します
ONの場合、バイナリデータをロードするときに各列にBINARYWITHを使用する必要があります
NULLBYTEパラメーター。
•区切り文字で区切られた可変長文字。ターミネータは16進数のASCIIとして指定できます
キャラクター。区切り文字列は、印刷可能なものを含め、最大4文字の任意の文字列にすることができます
文字の任意の組み合わせと、文字を出力しない8桁の16進ASCII生成
コード。たとえば、次のように指定します。
•「 x09」は、タブをターミネータとして表します。
•「 x00」、ヌルターミネータを示します(「C」文字列のように、目に見える終わりはありません
一致)。
• ' x0a'。これは、ターミネータとしての改行文字を表します。特殊文字の組み合わせを使用することもできます
改行としての「 n」。
区切り文字列の長さは1〜4文字ですが、DELIMITED BYsubにいることに注意してください。
1つの文で指定できるのは1文字のみです。
第6章SQLステートメント
リファレンスマニュアル525
•DATEまたはDATETIME文字列(ASCII文字)。 Sybaseを使用する必要があります
IQでサポートされている日付データ型と日時データ型の対応する形式の1つは、単語を定義します
文字列のinput-date-formatまたはinput-datetime-format。 DATEを使用して日を表す
期間値とDATETIMEは、日時と時刻の値を表すために使用されます。
表6-9:日付と時刻の形式の設定
表6-10:DATEおよびDATETIME形式のオプションの例
Sybase IQには、一般的な日付、時刻、および日時形式の負荷が最適化されています。もし、あんたが
ロードするデータがいずれかの形式と一致する場合、対応する形式を使用してロードを大幅に短縮できます。
読み込み時間。日付と日時のデータをロードする際のこれらの形式と最適化のリスト
パフォーマンスの詳細については、 『Sybase IQシステム管理ガイド』の第7章「Willing」を参照してください。
データはデータベースに出入りします。
オプションの意味
YyyyまたはYYYY
YyまたはYY
年番号を表します。デフォルトは現在の年です。
MmまたはMMは月番号を表します。先行ゼロまたはブランクは、必要に応じて常に月番号で使用されます。たとえば、「05」は
五月。 DATE値には月が含まれている必要があります。たとえば、1998のDATE値を入力すると、エラーが発生します。
促す。 「03」を入力すると、Sybase IQはデフォルトの年と日付を適用し、それを「1998-」に変換します。
03-01」。
DdまたはDD
JjjまたはJJJ
日付番号を示します。デフォルトの日付は01です。必要に応じて、日付番号には常に先行ゼロを使用してください。たとえば、
「01」は1番を意味します。Jまたはjは、ユリウス日(1〜366)を表します。
hh
HH
時間を示します。時間は24時間制に基づいています。必要に応じて、常に先行ゼロまたは空白を時間単位で使用します
たとえば、「01」は午前1時を意味します。午前12時の場合、「00」も有効な値です。
Nnは分を意味します。先行ゼロは、適切な場合は常に分単位で使用されます。たとえば、「08」は8分を意味します。
Ss [.ssssss]は、秒と秒の小数部分を表します。
Aaは午前または午後を示します。表示。
Ppは、必要な場合にのみp.mとして指定されます。 (これは、以前の12.0以前のバージョンのSybaseIQとは互換性がありません 'pp'
'aa'と同義です。 )。
Hh Sybase IQは、分と秒の両方がゼロであると想定しています。たとえば、DATETIME値を「03」と入力すると、
Sybase IQは、この値を「03:00:00.0000」に変換します。
Hh:nnまたはhh:mm Sybase IQは、秒がゼロであると想定しています。たとえば、「03:25」の時間値を入力すると、SybaseIQは
この値は「03:25:00.0000」に変換されます。
入力データ形式の仕様
1998年12月31日日付( 'MM / DD / YY')
19981231日付( 'YYYYMMDD')
123198140150 DATETIME( 'MMDDYYhhnnss')
14:01:50 12-31-98 DATETIME( 'hh:mm:ss MM-DD-YY')
18:27:53 DATETIME( 'hh:mm:ss')
12/31/98 02:01:50 AM DATETIME( 'MM / DD / YY hh:mm:ssaa')
LOADTABLEステートメント
526 Sybase IQ
日付/時刻フィールドを(上記のように)ASCII固定幅フィールドとして指定することもできます。
FILLER(1)オプションを使用して、列区切り文字をスキップします。指定した日時データの詳細情報
詳細については、213ページの「日付と時刻のデータ型」またはSybaseIQシステムを参照してください。
管理ガイドの第7章「データベースへのデータの移動とデータベースからのデータの移動」。
column-specのNULL部分は、特定の入力値をテーブル列にロードする方法を示します
nullとして扱われます。これらの文字には、BLANKS、ZEROS、またはその他の定義した文字が含まれる場合があります
単語のリスト。 NULL値を指定する場合、またはソースファイルからNULL値を読み取る場合、ターゲット列は次のことができる必要があります。
NULLが含まれています。
ZEROSの意味は次のとおりです。入力データの場合(変換前の場合、
ASCII)が(文字ゼロではなく)2進ゼロの場合、この単位はNULLに設定されます。
•入力データが文字ゼロの場合、次のようになります。
NULL(ZEROS)によってセルがNULLになることはありません。
b NULL( '0')を指定すると、セルはNULLになります。
•入力データがバイナリゼロ(すべてのビットをクリア)の場合、次のようになります。
NULL(ZEROS)を指定すると、セルはNULLになります。
b NULL( '0')によってセルがNULLになることはありません。
たとえば、LOADステートメントにcol1 date( 'yymmdd')null(zeros)とが含まれている場合
期間は000000であり、000000をDATE(4)に変換できないことを示すエラーメッセージが表示されます。
データが000000のときにloadがcol1にNULL値を挿入するようにするには、NULLにしてください。
句はnull( '000000')として記述されるか、データが2進数のゼロに等しくなるように変更されて使用されます
NULL(ZEROS)。
VARCHARセルの長さがゼロで、セルがNULLでない場合、ゼロが取得されます。
長さの単位。他のすべてのデータ型の場合、単位長がゼロの場合、Sybase IQ
NULLが挿入されます。これはANSIの動作です。長さがゼロの文字データの非ANSI処理については、
Non_Ansi_Null_Varcharデータベースオプションを設定します。
負荷仕様のもう1つの重要な部分は、FILLERオプションです。ソースをスキップしたいことを示しています
ファイルに指定されたフィールドを入力します。たとえば、入力ファイルの行の終わりまたはフィールド全体が
テーブルに追加したくない文字があります。 column-spec定義と同様に、FILLERを使用します
ASCII固定バイト長、区切り可変長文字、およびを指定できます。
PREFIXバイトのバイナリフィールドを使用します。
ファイル名-文字列ファイル名-文字列は文字列としてサーバーに渡されます。したがって、
文字列は、他のSQL文字列と同じ形式要件に従います。特に:
•Windowsシステムのディレクトリパスを示すには、円記号に2つの円記号が必要です。
表現します。したがって、ファイルc: temp input.datからemployeeテーブルにデータをロードするために使用されます。
ステートメントは次のとおりです。
LOADTABLEの従業員
FROM'c:\ temp \ input.dat '..。
第6章SQLステートメント
リファレンスマニュアル527
•パス名は、クライアントアプリケーションではなく、データベースサーバーに対応します。ある場合
別のコンピューターのデータベースサーバーでこのステートメントを実行します。ディレクトリ名はサーバーメーターを指します
クライアントコンピュータのディレクトリではなく、コンピュータのディレクトリ。
以下に、ステートメントの各句について説明します。
WORD SKIPは、ワードインデックスの作成時に指定された制限を超える長さに遭遇した場合にロードできます。
続く。
単語が最大許容サイズを超えているために行を読み込めない場合、警告が書き込まれます
.iqmsgファイル。 WORDサイズ違反をMESSAGELOGファイルに記録することもできます。
、拒否された行をLOADTABLEステートメントで指定されたROWLOGファイルに記録します。
•このオプションが指定されていない場合、LOADTABLEは指定された制限を超える長さに初めて遭遇します。
単語はエラーとして報告され、ロールバックされます。
•numberは、無視することを指定します '最大許容単語を超える単語
長さはサポートされていません 'エラーがサポートされていない回数。
•0(ゼロ)は、制限がないことを意味します。
QUOTESこのパラメーターはオプションであり、デフォルトはONです。 QUOTESオプションがオンになっているときにLOAD
TABLEでは、入力文字列を引用符で囲む必要があります。引用符はアポストロフィ(一重引用符)または
引用符(二重引用符)。文字列に最初に現れるそのような文字は、文字列として扱われます
文字を引用します。文字列データは、一致する引用符で終了する必要があります。
QUOTESをONに設定すると、列または行の区切り文字を列の値に含めることができます。想定
前後の引用符は値の一部ではなく、ロードされたデータ値から除外されます。
QUOTESがオンのときに値に引用符を使用するには、2つの引用符を使用します。例えば、
次の行では、3番目の列に一重引用符の値が含まれています。
‘123 High Stree、Anytown’、 ‘(715)398-2354’、 ’’ ’’
STRIPがオン(デフォルト)の場合、末尾の空白は最初に値から削除され、次に挿入されます
これらの値。引用符で囲まれていない文字列の末尾の空白のみが削除されます。引用符で囲まれた文字列はテールを保持します
ブランク付き。先頭の空白文字またはTAB文字は、QUOTESがONに設定されている場合にのみトリミングされます。
データ抽出機能は、見積もりを処理するための複数のオプションを提供します(TEMP_EXTRACT_QUOTES、
TEMP_EXTRACT_QUOTES_ALLおよびTEMP_EXTRACT_QUOTE)。計画している場合
デフォルトのASCII抽出方法を含む列または行の区切り文字を使用して、抽出されたファイルを再ロードします
文字列フィールド。TEMP_EXTRACT_BINARYオプションを使用して、TABLEを抽出してロードします。
FORMAT「binary」およびQUOTESOFFオプションを使用します。
制限:
•QUOTESONオプションは、列で区切られたASCIIフィールドでのみ使用できます。
•QUOTESがONに設定されている場合の、列区切り文字または行ターミネーターの最初の文字
一重引用符または二重引用符にすることはできません。
LOADTABLEステートメント
528 Sybase IQ
•QUOTESオプションは、バイナリラージオブジェクト(BLOB)または文字をセカンダリファイルからロードする場合には適用されません。
設定に関係なく、ラージオブジェクト(CLOB)データ。先頭または末尾の引用符は、次のように使用されます。
CLOBデータの一部がロードされます。引用符の間にQUOTESONオプションを使用します
2つの連続した引用符は、2つの連続した引用符としてロードされます。
•AdaptiveServer Enterprise BCPは、QUOTESオプションをサポートしていません。コピーインまたはコピーアウト
フィールドデータがある場合は、QUOTESをOFFに設定するのと同じです。 QUOTESに感謝します
ONは、BCPからASEデータを取得するSybase IQ LOADTABLEステートメントのデフォルト設定です。
Sybase IQテーブルをエクスポートするときは、QUOTESOFFを指定する必要があります。
異常な:
•結果のフィールドの最後にある引用文字の後にLOADTABLEが空白以外の文字を検出した場合
文字、次のエラーが報告され、ロード操作がロールバックされます。
の引用文字を終了した後にスペース以外のテキストが見つかりました
囲まれたフィールド。
SQLSTATE:QTA14 SQLCODE:-1005014L
•QUOTESがONに設定されている場合、一重引用符または二重引用符が列ポイントとして指定されている場合
セパレータの最初の文字はエラーを報告し、ロード操作は失敗します。
一重引用符または二重引用符を最初の文字にすることはできません
QUOTESオプションを使用した列区切り文字または行ターミネータの例
オン。
SQLSTATE:QCA90 SQLCODE:-1013090L
QUOTESオプションの例については、 『Sybase IQシステム管理ガイド』のセクション7を参照してください。
「データベースへのデータのロードとデータベースからのデータのロード」の章の「LOADTABLEステートメントを使用したロード」
データのロード'。
CHECKCONSTRAINTSこのオプションはデフォルトでオンになっています。 CHECKCONSTRAINTSを指定します
オンの場合、チェック制約が評価され、評価の結果を無視または記録できます。
CHECK CONSTRAINTSをOFFに設定すると、SybaseIQはすべてのチェック制約違反を無視します。
これは、たとえば、データベースを再構築するときに役立ちます。テーブルのチェック制約がまだ作成されていないユーザーを呼び出す場合
オプションがOFFに設定されていない限り、定義された関数は再構築されます。
このオプションは、次のオプションと相互に排他的です。次のオプションのいずれかが同じ負荷で指定されている場合、
違う:
•すべての制約を無視する
•制約チェックを無視する
•すべてログ
•ログチェック
第6章SQLステートメント
リファレンスマニュアル529
DEFAULTS DEFAULTSがオン(デフォルト)で、列にデフォルト値がある場合、
値。 DEFAULTSオプションがオフの場合、リストに表示されていない値は次のように指定されます
ヌル。
DEFAULTSオプションの設定は、以下を含むすべての列DEFAULT値に適用されます。
自動増加。
マウントと挿入での列DEFAULT値の使用法の詳細については、Sybaseを参照してください。
『IQシステム管理ガイド』の第9章「データの整合性の確保」の「列のデフォルトの使用」。
ESCAPES入力フィールドの列仕様の定義を省略した場合、ESCAPESで
ON(デフォルト)の場合、バックスラッシュ文字に続く文字がデータベースサーバーによって使用されます。
特殊文字として識別および解釈します。改行は n の組み合わせとして含めることができ、他の文字は
タブの x09など、16進ASCIIコードがデータに含まれています。 2社
継続する円記号(\)は、単一の円記号として解釈されます。 Sybase IQの場合、これを選択する必要があります
項目がOFFに設定されています。
フォーマットSybaseIQは、ASCIIおよびバイナリ入力フィールドをサポートします。このフォーマットは通常、上記で構成されています
列仕様の定義。この列の定義を省略すると、デフォルトで、SybaseIQは
このオプションで定義された形式。入力行にASCII(デフォルト)またはバイナリフィールドがあり、それぞれが
1つの入力行を並べ、列区切り記号を使用して値を区切ります。
DELIMITED BY column-spec定義で列区切り文字を省略した場合、デフォルトの列
区切り文字はコンマです。単一のASCII文字または16進文字表現を提供することによって
他の列区切り文字を設定します。 DELIMITEDBY句は次のとおりです。
... ' x09'で区切られます..。
改行文字を区切り文字として使用するには、特別な組み合わせ ' n'またはそのASCIIを指定できます
値 ' x0a'。 column-specdelimiter-stringには最大4語を指定できますが
、ただし、DELIMITEDBY句で指定できるのは1文字のみです。
STRIPは、STRIPを開くときに値から末尾の空白を削除します(デフォルト)
次に、これらの値を挿入します。これは、ASCII固定ではなくVARCHARデータに対してのみ機能します
幅の挿入。 STRIPオプションをオフにするには、次の句を使用します。
... 取り除きます ...
引用符で囲まれていない文字列の末尾の空白のみが削除されます。引用符で囲まれた文字列は、末尾のnullを保持します
白い。 FILLERオプションを使用して、削除するバイト数を指定することもできます。
末尾のスペースをすべて削除することです。 Sybase IQの場合、より効率的な方法は、このオプションをオフにすることです。
そのため、末尾の空白を処理する場合は、ANSI規格に準拠します。 (charデータは常に入力されます
空なので、このオプションはvarcharデータにのみ影響します。 )。
WITHCHECKPOINTはデフォルトでOFFに設定されています。 ONに設定すると、正常に完了します
チェックポイント操作は、ステートメントがログに記録された後に実行されます。
LOADTABLEステートメント
530 Sybase IQ
WITH CHECKPOINT ONが指定されておらず、後で復元する必要がある場合は、ロードする必要があります
テーブルのデータファイルを正常に復元できます。 WITH CHECKPOINT ONが指定されている場合、
そして、回復する必要があります。回復はチェックポイントの後に開始され、データファイルは必要ありません。
BLOCK FACTORブロック係数またはブロックあたりのレコード数を指定します(テープを作成する場合)。この
このオプションは、可変長入力フィールドからの挿入には無効です。代わりにBLOCKSIZEオプションを使用してください。だが
はい、固定長の入力フィールドを持つすべてのファイル挿入に影響します(ディスクからの挿入を含む)
で、したがって、パフォーマンスに大きな影響を与える可能性があります。 BLOCKSIZEオプションでこれを指定することはできません
オプション。デフォルトは10,000です。
ブロックサイズ入力を読み取るときに使用するデフォルトのサイズをバイト単位で指定します。この
このオプションは、ファイルから読み取られた可変長の入力データにのみ影響し、固定長の入力フィールドはありません。
効果。 BLOCK FACTORに似ていますが、レコードサイズとブロックサイズの関係に制限はありません。
システム。このオプションは、BLOCKFACTORオプションと一緒に指定することはできません。デフォルトは500,000です。
BYTE ORDERは、読み取り時のバイト順序を指定します。このオプションは、すべてのバイナリ入力に適用されます
フィールド。定義されていない場合、このオプションは無視されます。 SybaseIQは常にその操作に責任があります
コンピューターのネイティブ形式はバイナリデータを読み取ります(デフォルトはNATIVEです)。あなたはまた意味することができます
次の値を設定します。
•HIGH、マルチバイト数が上位バイトよりも優先される場合(Sunの場合、IBM AIX
HPのような大規模なプラットフォームの場合)。
•LOW、マルチバイト数が下位バイトよりも優先される場合(Windowsの場合
小さなプラットフォームの場合)。
LIMITは、テーブルに挿入する行の最大数を指定します。デフォルトは0で、これは制限がないことを意味します。最大数
量は2GB-1です。
NOTIFYは、指定された数の行がテーブルに正常に挿入されるたびにメッセージが通知されることを指定します。欠如
節約は100,000行ごとです。このオプションの値は、NOTIFY_MODULUSデータベースオプションをオーバーライドします
値。
ON FILE ERRORは、入力ファイルが存在しないためにSybaseIQが読み取っていないことを指定します
ファイルの正しいアクセス許可と、ファイルが開かれていないときに実行する必要のあるアクション。以下の操作を指定できます
作品の一つ:
•ROLLBACKは、トランザクション全体を中止します(デフォルト)。
•FINISHは、完了した挿入操作を終了し、ロード操作を終了します。
•CONTINUEはエラーを返しますが、ロード操作を続行するためにファイルをスキップするだけです。しない
このオプションは、部分的な幅の挿入に使用できます。
ON FILEERROR句は1つだけ許可されます。
PREVIEWは、開始位置、名前、各列の番号など、ターゲットテーブルに入力されたレイアウトを表示します
タイプに応じて。 Sybase IQは、ロードプロセスの開始時にこの情報を表示します。ログに書き込んでいる場合
ファイル、この情報もログに含まれます。このオプションは、部分幅の挿入に特に役立ちます。
第6章SQLステートメント
リファレンスマニュアル531
ROW DELIMITED BYは、入力レコードを示すために最大4バイトの長さの文字列を指定します
終わり。これは、行のすべてのフィールドが次のいずれかの状況にある場合にのみ使用できます。
オプション:
•列ターミネータで区切られています
•DATEまたはDATETIME列仕様オプションを使用してデータを定義します
•ASCII固定長フィールド
入力フィールドのいずれかにバイナリデータが含まれている場合、このオプションは使用できません。このオプションを使用して、
ラインターミネータは、欠落しているフィールドをNULLに設定します。すべての行に同じ行が必要です
区切り文字であり、すべての列区切り文字と区別する必要があります。行区切り文字列とフィールド区切り文字
文字列を相互の初期サブセットにすることはできません。たとえば、フィールド区切り文字として「*」を指定することはできません。
行区切り文字として「*#」を指定しますが、行区切り文字と一緒に単語として「#」を指定することもできます
セグメントセパレータ。
行にセパレータがない場合、Sybase IQはエラーを返し、ロードトランザクション全体をロールバックします。
唯一の例外は、行をロールバックして警告メッセージを返すファイルの最後のレコードです。に
Windowsでは、行区切り文字は通常、改行文字とそれに続く改行で表されます。あなたはこれをする必要があるかもしれません
このオプションまたはFILLERの区切り文字列を指定します(上記を参照)。
SKIPは、このロードが入力テーブルの先頭からスキップする行数を定義するために使用されます。デフォルトは0です。
START ROWID挿入を開始するSybaseIQテーブルの行のレコード識別番号を指定します。この
このオプションは、テーブルの列の一部に挿入されるアクションである部分幅挿入操作用です。デフォルト
場合によっては、スペースを入れてテーブルの任意の場所に新しい行を挿入すると、各挿入は新しいものになります
行が実行を開始します。部分幅挿入操作は、既存の行から実行する必要があります。これらの演習
また、列の配置によってソースファイルからターゲットテーブルにデータを挿入する必要があるため、ターゲット列を指定する場合
対応するソース列と同じ順序である必要があります。 column-specを使用して、各入力列のグリッドを定義します
式。デフォルトは0です。部分幅挿入の詳細については、SybaseIQシステムを参照してください。
管理ガイドの第7章「データベースへのデータの移動とデータベースからのデータの移動」。
START ROW IDオプションは、部分的な幅の挿入にのみ使用してください。ロードする列にすでに含まれている場合
データ、挿入操作は失敗します。
以前のSybaseIQバージョン(バージョン12.0より前)で作成するために指定されたUNLOADFORMAT
各列は、SybaseIQ内部アンロード形式のファイルで作成されます。このマウントオプションには次のものがあります
制限:
•非BINARY列の場合、列仕様(ASCIIや
プレフィックス)。これにはNULL指定が含まれます。
•BINARYcolumn-specを使用する列にNULL値をロードする必要がある場合は、次のように指定する必要があります。
WITH NULL BYTEキーワード。それ以外の場合、SybaseIQはエラーを返します。
•UNLOADFORMAT DELIMITEDBYまたはROWDELIMITEDと一緒に使用することはできません
BYオプション。
LOADTABLEステートメント
532 Sybase IQ
ON PARTIAL INPUT ROWは、ロード中に部分的な入力行が検出されたときに実行するアクションを指定します
作業。次のいずれかのアクションを指定できます。
•CONTINUEは警告を発行し、ロード操作を続行します。これがデフォルトです。
•ROLLBACKは、ロード操作全体を中止し、エラーを報告します。
EOFで部分的な入力レコードがスキップされました。
SQLSTATE:QDC32 SQLSTATE:-1000232L
IGNORE CONSTRAINTは、ロード中に発生するCHECKを無視するかどうかを指定します。
UNIQUE、NULL、DATA VALUE、およびFOREIGN KEY整合性制約違反、
また、ロールバックを開始する前に無視されるデフォルトの最大数。各制約タイプが持つことを指定します
次の結果:
•CHECK制限制限がゼロを指定している場合、無視されるUNIQUE制約違反の数
無制限になります。 CHECKが指定されていない場合、CHECK制約違反が初めて発生します。
おおよその時間により、LOADステートメントはフォールバックします。制限がゼロ以外の場合、+ 1回制限するCHECK
デフォルトを制限すると、負荷がフォールバックします。
•UNIQUE制限制限でゼロが指定されている場合、無視されたUNIQUE制約はデフォルトになります
数に制限はありません。制限がゼロ以外の場合、UNIQUE制約のデフォルトの+1倍を制限します
負荷がフォールバックします。
•NULL制限制限がゼロを指定する場合、無視されるNULL制約違反の数は
無制限の回数。制限がゼロ以外の場合、制限+1のNULL制約違反は次のようになります。
ロールバックをロードします。
•FOREIGNKEY制限制限がゼロを指定している場合、FOREIGNKEYは無視されます
制約違反の数は無制限になります。制限がゼロ以外の場合、外国の+1倍を制限します
KEY制約違反により、負荷がフォールバックします。
•データ値の制限データベースオプションCONVERSION_ERRORがオンの場合、
エラーが報告され、ステートメントがロールバックされます。制限がゼロを指定している場合は無視されます
DATA VALUE制約違反(データ型変換エラー)の数は無制限になります。万一に備えて
制限がゼロ以外の場合、データ値制約違反の+1回の制限により、負荷がフォールバックします。
•データベースオプションCONVERSION_ERRORがONの場合、ALL制限が報告されます
エラーとステートメントはフォールバックします。制限でゼロが指定されている場合、すべての整合性は無視されます
制約のデフォルトの累積合計は無制限になります。制限がゼロ以外の場合、すべて無視されます
UNIQUE、NULL、DATA VALUE、およびFOREIGNKEY整合性制約違反
アポイントメントの累積合計が制限値を超えると、ロードがロールバックされます。たとえば、次のIGNOREを指定します
CONSTRAINTオプション:
IGNORE CONSTRAINT NULL 50、UNIQUE 100、ALL 200
整合性制約違反の総数は200を超えることはできませんが、NULLおよびUNIQUE制約のデフォルトは
総数はそれぞれ50と100を超えることはできません。これらの制限のいずれかを超えている限り、
LOADTABLEステートメントはロールバックされます。
第6章SQLステートメント
リファレンスマニュアル533
注1つの行に、複数の整合性制約違反が発生する可能性があります。整合性制約に違反するたび
およそ、デフォルトのタイプの制限値まで1回カウントされます。
無視された整合性制約違反をログに記録する場合、SybaseはIGNOREを強くお勧めします
CONSTRAINTオプションの制限は、ゼロ以外の値に設定されています。あまりにも多くのデフォルトを記録すると、ロードに影響します
負荷性能。
CHECK、UNIQUE、NULLがIGNORECONSTRAINT句で指定されていない場合
またはFOREIGNKEY、これらのタイプの整合性制約のデフォルトの1つが初めて発生します
負荷はロールバックされます。
IGNORECONSTRAINT句でDATAVALUEが指定されていない場合、このクラスは
タイプ整合性制約違反は最初に発生したときにロールバックされますが、データベースオプションの場合
例外は、CONVERSION_ERRORがOFFに設定されている場合です。 CONVERSION_ERRORの場合
OFFに設定すると、DATA VALUE制約に対して警告が報告され、警告が報告されて続行されます
負荷。
ロードが完了すると、整合性制約違反に関連するメッセージが.iqmsgファイルに記録されます。
性的なニュース。このメッセージには、ロード中に発生した整合性制約違反の数とスキップされた行の数が含まれています。
MESSAGE LOGは、整合性制約違反に関連する情報がログに記録されるファイルの名前を指定します
記録されるデフォルトのタイプ。タイムスタンプはMESSAGELOGとROWLOGに記録されます
ファイルへのロードの開始時間と終了時間。 MESSAGELOGおよびROWLOGを指定する必要があります。
それ以外の場合、整合性違反に関連する情報はログに記録されません。
•ONLYLOG句が指定されていない場合、整合性違反はログに記録されません。
情報。ロードの開始時刻と終了時刻を示すタイムスタンプのみがログに記録されます。
•ONLYLOG句で指定されたすべての整合性制約タイプのデフォルトについて、またはキーを指定します
単語WORDのすべての単語インデックス長に違反すると、関連する違反情報が記録されます。
•制約違反が記録されている場合、整合性制約のデフォルトが発生するたびに、次のようになります。
MESSAGELOGファイルに1行の情報が生成されます。
MESSAGE LOGファイル(エラー報告)の行数がIGNOREを超える可能性があります
並列に実行されている複数のスレッドによってロードが実行されるため、CONSTRAINTオプションは制限されています
の。複数のスレッドが、制約違反の数が指定された制限を超えたことを報告できます。
•制約違反がログに記録されている場合、特定の行について、それはROWLOGファイルに記録されます。
その行で発生した整合性制約違反の数に関係なく、情報の行を記録するだけです。
MESSAGE LOGファイルのさまざまなエラーの数は、ROWLOGファイルの行数と同じである可能性があります。
正確には一致しません。行数の違いは、上記のMESSAGELOGの並列ロードプロセスによるものです。
に。
•MESSAGELOGファイルとROWLOGファイルをrawパーティションにすることはできません。
•MESSAGELOGまたはROWLOGファイルがすでに存在する場合、新しい情報が添付されます
ファイル。
LOADTABLEステートメント
534 Sybase IQ
•MESSAGELOGまたはROWLOGファイルに無効なファイル名が指定されている場合、そのファイル名が生成されます。
エラー。
•MESSAGELOGファイルとROWLOGファイルに同じファイル名を指定すると生成されます
間違って生まれた。
IGNORECONSTRAINTオプションとMESSAGELOGオプションのさまざまな組み合わせにより、異なるノートが作成されます
表6-11に示すように操作を記録します。
表6-11:LOADTABLEレコード操作
注無視された整合性制約違反をログに記録する場合、SybaseはIGNOREを強くお勧めします。
CONSTRAINTオプションの制限は、ゼロ以外の値に設定されています。 1行で複数の整合性違反が発生した場合
およそ、デフォルトごとに1行がMESSAGELOGファイルに書き込まれます。記録しすぎる
デフォルトの数は、ロードパフォーマンスに影響を与える可能性があります。
LOG DELIMITED BY ROWLOGファイルのデータ値間の区切り文字を指定します。
デフォルトの区切り文字はコンマです。
MESSAGELOGファイルとROWLOGファイルの内容と形式の詳細については、を参照してください。
『Sybase IQシステム管理ガイド』の第7章「データベースへのデータの移動とデータベースからのデータの移動」を参照してください。
「LOADTABLEステートメントを使用したデータの一括読み込み」。
副作用
しない。
標準•SQL92ベンダー拡張。
•Sybaseは適用されません。
LOAD TABLEステートメントを実行するために必要な権限は、データベースサーバーの-glコマンドラインオプションによって異なります。
次のように:
•-glオプションがALLに設定されている場合は、テーブルの所有者であり、DBA権限を持っている必要があります。
または、ALTER権限があります。
•-glオプションがDBAに設定されている場合は、DBA権限が必要です。
•-glオプションがNONEに設定されている場合、LOADTABLEは許可されません。
IGNOREが指定されました
制約?
指定
メッセージ
ログ?操作
はい、無視されたすべてのアイテムはロールバックの前にログに記録されます
性的制約のデフォルト(ユーザー指定の制限を含む)。
いいえ、最初の整合性制約はロールバックの前に記録されます
デフォルト。
録音しないかどうか。
いいえいいえいいえ記録。最初の完全な制約違反は
引退。
第6章SQLステートメント
リファレンスマニュアル535
詳細は、 『Sybase IQユーティリティガイド』の第1章「実行番号」を参照してください。
-ライブラリサーバーの「サーバーコマンドラインスイッチ」(7ページ)のglコマンドラインオプション。
LOAD TABLEでは、テーブルに排他ロックも必要です。
INSERTステートメント(511ページ)も参照してください。
LOAD_ZEROLENGTH_ASNULLオプション(94ページ)
NON_ANSI_NULL_VARCHARオプション(p.113)
『Sybase IQシステム管理ガイド』の第7章「データベースへのデータの移動とデータベースからのデータの移動」
「LOADTABLEステートメントを使用したデータの一括読み込み」
『Sybase IQトラブルシューティングおよびリカバリガイド』の第1章「トラブルシューティングのヒント」の「監視のヒント」
ディスク容量の使用状況に応じて」