Hitachi

ノンストップデータベース HiRDB Version 9 コマンドリファレンス(Windows(R)用)


5.7.1 列名文

〈この項の構成〉

(1) 形式

 列名〔{〔,type=データ型
       〔,null={’数値比較値’|(先頭位置,{c|x}’比較値’)}〕〕
       〔,element=要素数〕〔,elmtype=配列データ形式〕
       〔,nullset=ナル値オプション〕〔,mode={text|bin}〕
       〔,enclose_del={yes|no}〕〔,filldata=埋め字データ〕
       〔,sequence=(〔認可識別子.〕順序数生成子識別子〔,replace=
        {’数値比較値’|(先頭位置,{c|x}’比較値’)|null|force}〕)〕
     |〔,func=(〔認可識別子.〕関数名
       ,param=引数の型〔,type=データ型
       〔,null={’数値比較値’|(先頭位置,{c|x}’比較値’)}〕〕
       〔,mode={text|bin}〕〔,enclose_del={yes|no}〕
       〔,filldata=埋め字データ〕
       〔,param=引数の型〔,type=データ型
        〔,null={’数値比較値’|(先頭位置,{c|x}’比較値’)}〕〕
        〔,mode={text|bin}〕〔,enclose_del={yes|no}〕
        〔,filldata=埋め字データ〕〕…)〕
      }〕
      〔,filedir=パス名〕

列名文のオペランドは,入力データファイルの形式によって指定できるものとできないものがあります。形式ごとのオペランド指定可否を次に示します。

指定列の型

オペランド

入力データ形式

DAT形式

固定長データ形式

pdrorg出力バイナリ形式

既定義型

(列指定)

列名

type

×

※3※7

null

×

element

×

elmtype

×

nullset

×

mode

×

※4

×

enclose_del

×

※5

×

filldata

×

×

sequence

抽象データ型

(関数指定)

列名

func

※1

※1

※1

param

※2

※2

※2

type

×

※2

※3

null

×

mode

×

※4

×

enclose_del

×

※5

×

filldata

×

×

filedir

※6

※6

×

(凡例)

◎:必ず指定します。

○:指定できます。

×:指定できません。

注※1

関数指定時は,必ず指定します。

注※2

関数指定でfuncオペランド指定時は,必ず指定します。

注※3

列のデータ型,又は関数指定のparamに指定したデータ型が,CHAR,MCHAR,NCHAR,BLOB,又はBINARYの場合に指定できます。次のどれかの条件に該当する場合は,必ず指定してください。

  • BLOB列のアンロードデータを,BINARYパラメタ又はBLOBパラメタがある抽象データ型の列へデータロードする場合

  • 抽象データ型のBLOBパラメタのアンロードデータを,BLOB型又はBINARY型の列へデータロードする場合

  • BLOB列のアンロードデータを,BINARY列へデータロードする場合

  • 抽象データ型のBLOBパラメタのアンロードデータを,BINARYパラメタがある抽象データ型の列へデータロードする場合

注※4

typeオペランドの指定値がcharで,表の定義がCHAR又はMCHARの場合にだけ指定できます。

注※5

typeオペランドの指定値がcharで,表の定義がVARCHAR又はMVARCHARの場合にだけ指定できます。

注※6

列のデータ型がXML型で,-K fオプションを指定しているときだけ指定できます。

注※7

列のデータ型のparamに指定したデータ型が,CHAR,MCHAR,NCHAR,BLOB,又はBINARYの場合に指定できます。列のデータ形式が固定長である文字データ型を,データロード先の定義長に拡張してデータロードする場合は,必ず指定してください。

(2) オペランドの説明

(a) 列名

入力データを格納する表の列の名称を記述します。ただし,予備列の列の名称は記述できません。記述した場合,pdloadはKFPL25103-Eメッセージを出力して異常終了します。

列名を引用符('')で囲んだ場合は,英大文字と英小文字が区別されます。引用符で囲まない場合は,すべて英大文字として扱われます。また,列名に空白が含まれる場合は,引用符で囲んでください。

(b) type=データ型

入力データの列のデータ型を記述します。データ型及び引数の型の記述方法と指定可否について次の表に示します。

表5‒42 データ型及び引数の型の記述方法と指定可否

記述方法

データ型の指定可否

記述規則

固定長データ形式

pdload用アンロードファイル

integer

×

なし。

smallint

×

char(n)※1※2

nには入力データのバイト数,mには入力データの文字数を指定します※6

nの最大はCHAR,MCHARの最大バイト数×2(ただし,格納対象列のデータ型がBINARY型の場合は,BINARY型の最大バイト数),mの最大はNCHARのけた数で,格納先の表の列定義長と一致する必要はありません。また,数値型に変換する場合,文字列中にナル文字(¥0)は含めないでください。

nchar(m)※1※2

mchar(n)※1※2

varchar(n)

×

nは入力データのバイト数,mには入力データの文字数を指定します※6

nの最大はVARCHAR,MVARCHARの最大バイト数×2,mの最大はNVARCHARの最大けた数で,格納先の表の列定義長と一致する必要はありません。

nvarchar(m)

×

mvarchar(n)

×

float

×

なし。

smallflt

×

dec(精度[,位取り])

×

なし。

date

×

なし。

interval-year-to-day

×

time

×

interval-hour-to-second

×

yy-mm-dd※3

×

文字で記述された,西暦の下2けたのデータをDATE型に格納するときだけ指定できます。年,月,日を区切る1バイトの文字は任意に指定できます(例:yy-mm-dd,yy/mm/ddなど)。

yymmdd※3

×

符号なしパック形式で記述された,西暦の下2けたのデータをDATE型に格納するときだけ指定できます。

timestamp(p)

×

pは小数秒部分のけた数です(0,2,4,又は6)。

binary(n)

※5

pdrorg出力バイナリ形式のtypeオペランドに指定する場合は,(n)は省略します。

nはBINARY型の最大バイト数です。

binaryprm

×

なし。

blob(n)

※4

  • 固定長データ形式のtypeオペランドに指定する場合

    nはLOB入力ファイル名の最大長で,LOB列の定義とは関係ありません。先頭4バイトに長さを持つバイナリ形式のときに指定します。

  • pdrorg出力バイナリ形式のtypeオペランドに指定する場合

    (n)は省略します。

blobprm

×

なし。

adec(精度[,位取り])

×

DECIMAL列に格納するデータを文字列形式の10進数で記述する入力データ形式です。データ中には小数点を持たないため,typeオペランドで小数点位置を精度と位取りの形で指定します。adecのデータ形式については,「ADEC型(ASCII CODE DECIMAL)」を参照してください。

bdec(n)

×

DECIMAL列に格納するデータをバイナリデータ(2進数)で記述する入力データ形式です。nにはバイナリデータの長さを指定します。データ中には小数点を持たないため,列のデータ型に合わせて小数点位置を決定します。bdecのデータ形式については,「BDEC型(BINARY DECIMAL)」を参照してください。

(凡例)

○:指定できます。

×:指定できません。

注※1

列値を左詰めで記述してください。

注※2

数値に変換して格納する場合には,左詰めでなくてもよいです。

注※3

西暦の下2けたのデータを,19yyに拡張して格納します。

注※4

対応する列のデータ型がBLOB型の場合は指定できません。type文を指定しないでください。

注※5

対応する列のデータ型がBINARY型の場合は指定できません。type文を指定しないでください。

注※6

指定例を次に示します。

入力データの文字コードがUTF-8の場合

[図データ]

  • 列構成情報ファイルの指定内容

    C1,type=char(3)
入力データの文字コードがUTF-16の場合

[図データ]

  • 列構成情報ファイルの指定内容

    C1,type=char(6)

列構成情報ファイルに指定したデータ型と,表のデータ型が異なる場合のデータベースへの格納可否については,「列構成情報ファイルに指定したデータ型と,表のデータ型が異なる場合のデータベースへの格納可否」を参照してください。

(c) null={’数値比較値’|(先頭位置,{c|x}’比較値’)}

表の対応する列にナル値を格納する場合に指定します。

入力データと比較をするため,typeオペランドに指定したデータ型に対応する比較値を指定してください。

入力データのデータ型によって,比較できる方法が異なります。入力データの各データ型の比較方法を次に示します。

入力データのデータ型

比較方法

数値比較

文字比較

16進数比較

DECIMAL

×

DATE

×

INTERVAL YEAR TO DAY

×

TIME

×

INTERVAL HOUR TO SECOND

×

TIMESTAMP

×

CHAR

×

VARCHAR

×

NCHAR

×

NVARCHAR

×

MCHAR

×

MVARCHAR

×

BINARY

×

BLOB

×

INTEGER

×

SMALLINT

×

FLOAT

×

SMALLFLT

×

yymmdd形式

×

yy-mm-dd形式

×

ADEC

×

BDEC

×

×

(凡例)

○:指定できます。

×:指定できません。

<規則>

  1. 入力データと,このオペランドで指定した値が同じ列にはナル値を格納します。

  2. 非ナル値制約の列,クラスタキー構成列,及び主キー構成列には指定できません。

  3. pdrorg出力バイナリ形式の入力データファイルの場合,LOB列,及びBINARY列のデータ,並びに抽象データ型のLOB,及びBINARYパラメタは,オフセットに0を設定することでナル値を指定するため,これらの列に対してこのオペランドは指定できません。なお,これらのデータ型が実データを持つ場合,オフセットに0を設定してナル値と扱うためには,対応する入力データ中の実データ部分を削除しておく必要があります(対応するオフセットを0に編集するだけでは,正しく処理がされません)。

  4. 固定長データ形式の入力データファイルの場合,列の切り出し後に比較をするため,後方の空白を削除してからデータを比較します。

数値比較値   〜((255文字以内))

入力データが数値属性の場合,比較する数値を記述します。

<規則>
  1. 記述方法はDAT形式での数値データと同じですが,空白は含めないでください(TIMESTAMP型データの日時間の空白を除く)。

  2. 数値属性とは,INTEGER,SMALLINT,FLOAT,SMALLFLT,DEC,DATE,TIME,INTERVAL YEAR TO DAY,INTERVAL HOUR TO SECOND,TIMESTAMPのデータ型,及びyymmdd形式を示します。

  3. TIMESTAMP型の数値を指定する場合,小数部のけた数が定義の指定に満たないときは,0が仮定されます。

<記述例>
  • DATEの場合→yyyy-mm-ddの形式

    1995年1月1日→1995-01-01

  • TIMEの場合→hh:mm:ssの形式

    12時1分1秒→12:01:01

  • INTERVAL YEAR TO DAYの場合→yyyymmdd.の形式

    1900年間1か月1日→19000101.

  • INTERVAL HOUR TO SECONDの場合→hhmmss.の形式

    12時間1分1秒→120101.

  • TIMESTAMPの場合→yyyy-mm-dd hh:mm:ss.nnnnの形式

    1900年1月1日1時10分30秒45

    →1900-01-01 01:10:30.4500又は1900-01-01 01:10:30.45

(先頭位置,{c|x}’比較値’)

比較値が文字の場合は,入力データが文字属性,BINARY,又はBLOBのときに指定します。文字属性とは,CHAR,NCHAR,MCHAR,VARCHAR,NVARCHAR,及びMVARCHARのデータ型,並びにyy-mm-dd形式を示します。

比較値が16進数の場合は,入力データが数値属性でも比較できます(すべてのデータ型と比較できます)。

先頭位置 〜<符号なし整数>((1〜32000))

ナル値として扱うかどうかを判定する対象列の格納データの,比較開始先頭位置をバイト数で指定します。

指定した比較開始位置が次の条件に当てはまる場合,制御文エラーになります。

  • DAT形式の場合

    先頭位置に指定した比較開始位置>32,000

  • 固定長形式,及びバイナリ形式の場合

    先頭位置に指定した比較開始位置>該当する列の定義長(各国文字列の場合は定義長×2)

指定した先頭位置以降の入力データと,比較値に指定した値を比較して,比較が完全一致した入力データをナル値として扱います。例を次に示します。

CHAR(5)の入力データ

null=(2,'XYZ')との比較結果

入力データの扱い

*XYZ*

比較値と完全一致します。

ナル値として扱います。

XYZ**

比較値は一致しますが,先頭位置から一致しません。

入力データとして扱います。

*XY**

比較値と一致しません。

なお,option文にcharsetオペランドを指定している場合,先頭位置に指定する比較開始位置は文字コードの文字長を考慮してください。

文字コードがUTF-8の比較値'XYZ'と,文字コードがUTF-16の入力データの2文字目以降を比較する場合,比較開始位置には3を指定する必要があります(null=(3,c'XYZ')など)。

c

比較値が文字の場合に指定します。なお,入力データファイルをHiRDBの規定文字コード以外の文字コードで作成している場合でも,HiRDBの規定文字コード列を指定します(内部でpdloadが入力データファイルの文字コードに変換します)。

指定した比較値が次の条件に当てはまる場合,制御文エラーになります。

  • 比較値のバイト長>255

    なお,比較値のバイト長は,入力データファイルの文字コードがHiRDBの既定文字コード以外の場合は,変換後の値です。

  • 先頭位置に指定した比較開始位置+比較値のバイト長−1>該当する列の定義長(各国文字列の場合は定義長×2)

x

比較値が16進数の場合に指定します。なお,入力データファイルをHiRDBの規定文字コード以外の文字コードで作成している場合,HiRDBの規定文字コード列で指定します。

指定した16進数の文字列(0〜f)を2文字で1バイトと扱います。

指定する文字は,大文字及び小文字のどちらでもかまいません。

指定した文字が16進数の文字列でない場合,又は指定した比較値が次の条件に当てはまる場合,制御文エラーになります。

  • 比較値のバイト長>254

  • 先頭位置に指定した比較開始位置+比較値のバイト長−1>該当する列の定義長(各国文字列の場合は定義長×2)

数値型の列の場合,不当に比較値が入力データと同じになることがあります。この場合,16進数で比較値を指定してください。指定例を次に示します。

列のデータ型

ナル値として扱う値

null=以降の指定方法

DECIMAL

「NULL」という文字列

(1,x'4e554c4c')

DATE

0000年00月00日

(1,x'00000000')

INTERVAL YEAR TO DAY

先頭1バイトが0xff

(1,x'ff')

TIME

99時99分99秒

(1,x'999999')

INTERVAL HOUR TO SECOND

2バイト目が0xff

(2,x'ff')

TIMESTAMP

2バイト目と3バイト目が0xff

(2,x'ffff')

INTEGER

「NULL」という文字列

(1,x'4e554c4c')

SMALLINT

「NL」という文字列

(1,x'4e4c')

FLOAT

「**NULL**」という文字列

(1,x'2a2a4e554c4c2a2a')

SMALLFLT

「NULL」という文字列

(1,x'4e554c4c')

注※

16進数の比較値を指定しても,何らかの値と一致してしまう可能性があります(例えば,SMALLINTの指定例の場合,ビッグエンディアンの20044と一致します)。このため,ナル値として扱う値は,格納されない値にする必要があります。

比較値 〜((255文字以内))

入力データと比較する文字を指定します。

xを指定した場合,文字数は偶数で指定してください(最大指定長は254文字となります)。

(d) element=要素数

   〜<1〜表定義時に該当する列に指定した要素数>

繰返し列の場合に,入力データファイルに記述する要素数を指定します。

elementオペランドは,表定義時に該当する列に指定した要素数よりも入力データファイルに指定する要素数が少ない場合に指定します。

elementオペランド省略時は,表定義時に該当する列に指定した最大要素数が仮定されます。

<規則>

  1. 配列データ形式がVV形式の場合は,入力データファイルに指定する要素数が指定する要素の数になるため,このオペランドを省略しても無視します。

  2. pdrorg出力バイナリ形式の入力データファイルの場合はエラーとなります。

(e) elmtype=配列データ形式

繰返し列の場合に,配列データ形式を指定します。

配列データ形式

次のどれかを指定します。

  • ff:FF形式

  • fv:FV形式

  • vv:VV形式

配列データ形式については,「繰返し列を含む表の配列データ形式」を参照してください。

<規則>

  1. elmtypeオペランドを省略した場合の配列データ形式は,制御情報ファイルのarray文を指定していないときは次の形式が仮定されます。

    • DAT形式ファイル:FF形式

    • バイナリ形式ファイル:VV形式

    • 固定長データ形式ファイル:FF形式

  2. pdrorg出力バイナリ形式の入力データファイルの場合はエラーとなります。

(f) nullset=ナル値オプション

配列データ形式がFF形式で,ある要素から指定要素の最後までナル値を指定した場合のナル値格納の扱いを指定します。

ナル値オプション

c:該当する要素に何も格納しません。

e:該当する要素にナル値を格納します。

<規則>

  1. nullsetオペランドを省略した場合の仮定値は次のようになります。

    • 制御情報ファイルのarray文を指定していない場合はcが仮定されます。

    • 制御情報ファイルのarray文を指定している場合はarray文のnullsetオペランドの指定値が仮定されます。

  2. pdrorg出力バイナリ形式の入力データファイルの場合はエラーとなります。

(g) mode={text|bin}

入力データが固定長文字列(type=char(n))で,格納先の列データ型がCHAR,又はMCHARの場合,入力データの格納方法を指定します。なお,このオペランドは,固定長データ形式の場合に指定できます。

<適用基準>

次の文字を入力データとして格納したい場合,binを指定します。

  • 入力データの後方から連続する,半角空白(0x20),タブ(\t),及びナル文字(\0)

  • 入力データの両端の引用符(")

入力データ中の,上記の文字を削除してかまわない場合は,text(省略時仮定値)を指定します。

text:

次の入力データの編集をして,データを格納する場合に指定します。

  • 入力データの後方から連続する半角空白(0x20),タブ(\t),及びナル文字(\0)を削除します。

  • 入力データの両端の引用符(")を削除します。

  • 入力データ長が格納列の定義長より短い場合,半角空白を埋めます。

bin:

次の入力データの編集だけをして,データを格納する場合に指定します。

  • 入力データ長が格納列の定義長より短い場合,半角空白を埋めます。

なお,binを指定した場合,空白変換はできません(option文にspacelvlオペランドは指定できません)。

(h) enclose_del={yes|no}

入力データが固定長文字列(type=char(n))で,格納先の列データ型がVARCHAR,又はMVARCHARの場合,入力データの格納方法を指定します。なお,このオペランドは,固定長データ形式の場合に指定できます。

<適用基準>

入力データの両端の引用符(")を,入力データとして格納したい場合,noを指定します。

入力データの両端の引用符を削除してかまわない場合は,yes(省略時仮定値)を指定します。

yes:

次の入力データの編集をして,データを格納する場合に指定します。

  • 入力データの後方から連続する半角空白(0x20),タブ(\t),及びナル文字(\0)を削除します。

  • 入力データの両端の引用符(")を削除します。

no:

次の入力データの編集だけをして,データを格納する場合に指定します。

  • 入力データの後方から連続する半角空白(0x20),タブ(\t),及びナル文字(\0)を削除します。

なお,半角空白,タブ,及びナル文字を入力データとして格納したい場合は,引用符で囲んでください。

(i) filldata=埋め字データ

固定長データ形式の場合,BINARY型のデータをCHAR型で記述するときに,後方の埋め字データを記述します。埋め字データは,1バイトのデータで,0〜255までの16進数表記(X'00'〜X'ff')で記述します。このオペランドを省略した場合は0が仮定されます。

<規則>

  1. CHARデータからBINARYデータに変換する場合,後方にある連続した埋め字を削除したデータを,BINARYデータのデータ部として扱います。

  2. 固定長データ形式以外の入力データファイルで指定した場合,及びBINARY型以外の列に指定した場合は制御文エラーとなります。

  3. BINARY型パラメタ以外のパラメタに対して指定した場合,制御文エラーとなります。

  4. BINARY型パラメタに対してBINARYデータを格納したファイルを指定する場合,埋め字としてfilldata,半角空白,タブ,及び\0を使用できます。ただし,option文にcharsetオペランドを指定している場合,filldataは使用できません(指定しても無視されます)。

(j) sequence=(〔認可識別子.〕順序数生成子識別子〔,replace={’数値比較値’|(先頭位置,{c|x}’比較値’)|null|force}〕)

順序数生成子から取得した順序番号を入力データとして格納する場合に指定します。

〔認可識別子.〕順序数生成子識別子

順序番号を取得する順序数生成子の識別子を指定します。

認可識別子を省略した場合は,pdload実行ユーザ(-uオプション又はPDUSER環境変数に設定した認可識別子)が仮定されます。

replace={’数値比較値’|(先頭位置,{c|x}’比較値’)|null|force

入力データを,順序数生成子から取得した順序番号で置き換える場合,その条件を指定します。

入力データとこのオペランドの指定値が一致した場合,該当する列のデータを順序数生成子から取得した順序番号に置き換えます。入力データのデータ型で値を比較するため,比較値はtypeオペランドに指定したデータの属性に合わせて指定してください。

’数値比較値’

入力データが数値属性の場合に,比較する数値を指定します。

指定方法については,nullオペランドの説明を参照してください。

(先頭位置,{c|x}’比較値’)

入力データが文字属性の場合に,比較する文字列を先頭位置と比較値で指定します。

指定方法については,nullオペランドの説明を参照してください。

null

入力データの値がnullの場合に順序番号で置き換えます。入力データファイルの形式がDAT形式又は拡張DAT形式の場合に指定できます。

force

無条件に置き換えます。

<規則>

  1. pdparaloadを使用する場合,又はRDエリア単位にデータロードする場合は,分割キーの列に対してこのオペランドを指定しないでください。指定すると,分割キーの値が順序数生成子から取得した順序番号になるため,該当する分割キーの値が指定したRDエリアへの格納対象外の値となり,データを格納できないおそれがあります。

(k) filedir=パス名

-K fオプションを指定して,該当するXML型の列のパラメタ属性データを,1データ1ファイルとして読み込む場合に,パラメタ属性のデータファイルを格納しているディレクトリを指定します。

<規則>

  1. ここで指定したパス名と,入力データファイル中のファイルパス名を組み合わせて,パラメタ属性データとして読み込むファイルのファイルパス名とみなします。組み合わせたファイルパス名が1,023バイト以下となるように指定してください。

  2. XML型の列がない場合にこのオペランドを指定すると,エラーになります。

  3. このオペランドを省略する場合は,入力データファイルに,パラメタ属性データとして読み込むファイルの絶対パスを記述してください。

  4. このオペランドで,列ごとに格納ディレクトリへの絶対パスを指定する場合,入力データファイルには,このオペランドで指定したディレクトリからの相対のファイルパス名だけを記述してください。

<記述例>

列2にXML型を定義している場合の,DAT形式の入力データファイルの記述例を示します。

  • 入力データファイルのデータ

     列1   列2        列3
    00001,xml001.txt,2007-10-01
    00002,xml002.txt,2007-10-02
  • 列構成情報ファイルの記述

    列1
    列2,filedir=/user/xml_data
    列3
  • pdloadが参照するファイル

    /user/xml_data/xml001.txt
    /user/xml_data/xml002.txt

(l) func=(〔認可識別子.〕関数名,param=引数の型〔,type=データ型〔,null={’数値比較値’|(先頭位置,{c|x}’比較値’)}〕〕〔,mode={text|bin}〕〔,enclose_del={yes|no}〕〔,filldata=埋め字データ〕〔,…〕)

指定する列名のデータ型が抽象データ型の場合に,格納する値を生成するコンストラクタ関数の情報を記述します。

列構成情報ファイルに指定した入力パラメタのデータ型と,呼び出すコンストラクタ関数の引数の型が異なる場合のデータベースへの格納可否については,「列構成情報ファイルに指定したデータ型と,表のデータ型が異なる場合のデータベースへの格納可否」を参照してください。

〔認可識別子.〕関数名

格納するデータをプラグインの提供するコンストラクタ関数を呼び出して生成する場合に,その関数名称を指定します。

関数の戻り値が格納対象の列の抽象データ型と異なる関数,及び引数に抽象データ型を持つ関数は指定できません。

認可識別子を省略した場合は,抽象データ型を定義したユーザが仮定されます。

param=引数の型

コンストラクタ関数に渡すパラメタのデータ型を指定します。

入力となるパラメタが複数ある場合は,関数の入力形式に合わせた順序で指定します。

コンストラクタ関数に渡すパラメタのデータ型の記述方法及びデータ型の指定可否について次の表に示します。

表5‒43 コンストラクタ関数に渡すパラメタのデータ型の記述方法及びデータ型の指定可否

パラメタのデータ型

データ型の記述方法

データ型の指定可否

分類

データ型

DAT形式

固定長データ形式

pdload用アンロードファイル

数データ

INTEGER

integer

SMALLINT

smallint

DECIMAL

dec()

adec()

bdec()

FLOAT

float

SMALLFLT

smallflt

文字データ

CHARACTER

char

VARCHAR

varchar

各国文字データ

NCHAR

nchar

NVARCHAR

nvarchar

混在文字データ

MCHAR

mchar

MVARCHAR

mvarchar

日付データ

DATE

date

yy-mm-dd

×

×

×

yymmdd

×

×

×

時刻データ

TIME

time

時刻印データ

TIMESTAMP

timestamp

日間隔データ

INTERVAL YEAR TO DAY

interval-year-to-day

時間隔データ

INTERVAL HOUR TO SECOND

interval-hour-to-second

長大データ

BLOB

blob

blobprm

×

×

×

バイナリデータ

BINARY

binary

binaryprm

×

×

×

(凡例)

○:指定できます。

×:指定できません。

type=データ型

入力データファイルが固定長データ形式の場合に,入力となるパラメタのデータ型を指定します。

入力となるパラメタが複数ある場合は,関数の入力形式に合わせた順序で指定します。

データ型の記述方法及びデータ型の指定可否について次の表に示します。

表5‒44 データ型の記述方法及びデータ型の指定可否

分類

データ型

データ型の記述方法

データ型の指定可否

固定長データ形式

pdload用アンロードファイル

数データ

INTEGER

integer

×

SMALLINT

smallint

×

DECIMAL

dec(精度[,位取り])

×

adec(精度[,位取り])

×

bdec(n)

×

FLOAT

float

×

SMALLFLT

smallflt

×

文字データ

CHARACTER

char(n)

×

VARCHAR

varchar(n)

×

各国文字データ

NCHAR

nchar(m)

×

NVARCHAR

nvarchar(m)

×

混在文字データ

MCHAR

mchar(n)

×

MVARCHAR

mvarchar(n)

×

日付データ

DATE

date

×

yy-mm-dd

×

×

yymmdd

×

×

時刻データ

TIME

time

×

時刻印データ

TIMESTAMP〔(p)〕

timestamp(p)

×

日間隔データ

INTERVAL YEAR TO DAY

interval-year-to-day

×

時間隔データ

INTERVAL HOUR TO SECOND

interval-hour-to-second

×

長大データ

BLOB

blob(n)

blobprm

×

バイナリデータ

BINARY

binary(n)

binaryprm

×

(凡例)

○:指定できます。

×:指定できません。

注※

pdload用アンロードファイルの場合は,(n)を省略できます。

null={’数値比較値’|(先頭位置,{c|x}’比較値’)}

入力データファイルが固定長データ形式の場合に,入力となるパラメタをナル値としたい場合に指定します。

比較は入力パラメタのデータ型となります。指定方法については,nullオペランドの説明を参照してください。

mode={text|bin}

指定方法については,modeオペランドの説明を参照してください。

enclose_del={yes|no}

指定方法については,enclose_delオペランドの説明を参照してください。

filldata=埋め字データ

指定方法については,filldataオペランドの説明を参照してください。

<funcオペランド内の指定順序>

funcオペランド内に指定する,param,type,null,filldata,mode,及びenclose_delの指定順序を次に示します

  • 固定長データ形式の場合

    [図データ]

  • バイナリ形式の場合

    [図データ]

  • DAT形式の場合

    [図データ]

(3) 列構成情報ファイルに指定したデータ型と,表のデータ型が異なる場合のデータベースへの格納可否

列構成情報ファイルに指定したデータ型と,表のデータ型が異なる場合のデータベースへの格納可否を,次の表に示します。

表5‒45 列構成情報ファイルに指定したデータ型と,表のデータ型が異なる場合のデータベースへの格納可否(1/2)

列構成情報ファイルに指定したデータ型

表のデータ型

INT

EGER

SMALL

INT

CHAR

NCHAR

MCHAR

VAR

CHAR

NVAR

CHAR

MVAR

CHAR

FLOAT

SMALL

FLT

integer

×

×

×

×

×

×

×

×

×

smallint

×

×

×

×

×

×

×

×

×

char

※1

nchar

×

×

×

※1

×

×

×

×

×

×

mchar

×

×

×

×

※1

×

×

×

×

×

varchar

×

×

×

×

×

※2

×

×

×

×

nvarchar

×

×

×

×

×

×

×

×

×

mvarchar

×

×

×

×

×

×

×

※2

×

×

float

×

×

×

×

×

×

×

×

×

smallflt

×

×

×

×

×

×

×

×

×

dec

×

×

×

×

×

×

×

×

×

×

date

×

×

×

×

×

×

×

×

×

×

interval-year-to-day

×

×

×

×

×

×

×

×

×

×

time

×

×

×

×

×

×

×

×

×

×

interval-hour-to-second

×

×

×

×

×

×

×

×

×

×

timestamp

×

×

×

×

×

×

×

×

×

×

binary

×

×

×

×

×

×

×

×

×

×

yy-mm-dd

×

×

×

×

×

×

×

×

×

×

yymmdd

×

×

×

×

×

×

×

×

×

×

blob

×

×

×

×

×

×

×

×

×

×

adec

×

×

×

×

×

×

×

×

×

×

bdec

×

×

×

×

×

×

×

×

×

×

(凡例)

○:格納できます。

×:格納できません。

注※1

固定長の文字データ型の入力データ長と格納先の表の定義長に応じて,次のようにデータが格納されます。

項番

格納先列への文字集合の指定

nとmの関係

データの格納方法

1

なし

n=m

そのままDBに格納します。

2

n>m

エラーになります。

3

n<m

(n+1)以降を空白文字で拡張して格納します。

4

あり

n'=m

そのままDBに格納します。

5

n'>m

文字コード変換後の入力データを,格納先の定義長に切り詰めてからDBに格納します。詳細は,表「入力データ長,列定義長,及びlengoverオペランドの関係」を参照してください。

6

n'<m

(n'+1)以降を空白文字で拡張して格納します。

注※2

可変長の文字データ型の入力データ長と格納先の表の定義長に応じて,次のようにデータが格納されます。

項番

格納先列への文字集合の指定

nとmの関係

データの格納方法

1

なし

n≦m

そのままDBに格納します。

2

n>m

入力データを格納先の定義長に切り詰めてからDBに格納します。詳細は,表「入力データ長,列定義長,及びlengoverオペランドの関係」を参照してください。

3

あり

n'≦m

そのままDBに格納します。

4

n'>m

文字コード変換後の入力データを,格納先の定義長に切り詰めてからDBに格納します。詳細は,表「入力データ長,列定義長,及びlengoverオペランドの関係」を参照してください。

(凡例)

n:入力データ長

m:格納先表の定義長

n':文字コード変換後のデータ長

表5‒46 列構成情報ファイルに指定したデータ型と,表のデータ型が異なる場合のデータベースへの格納可否(2/2)

列構成情報ファイルに指定したデータ型

表のデータ型

DECI

MAL

DATE

INTER

VAL YEAR TO DAY

TIME

INTER

VAL HOUR TO SECOND

TIME

STAMP

BINARY

BLOB

integer

×

×

×

×

×

×

×

×

smallint

×

×

×

×

×

×

×

×

char

nchar

×

×

×

×

×

×

×

×

mchar

×

×

×

×

×

×

×

×

varchar

×

×

×

×

×

×

×

×

nvarchar

×

×

×

×

×

×

×

×

mvarchar

×

×

×

×

×

×

×

×

float

×

×

×

×

×

×

×

×

smallflt

×

×

×

×

×

×

×

×

dec

×

×

×

×

×

×

×

date

×

×

×

×

×

×

×

interval-year-to-day

×

×

×

×

×

×

×

time

×

×

×

×

×

×

×

interval-hour-to-second

×

×

×

×

×

×

×

timestamp

×

×

×

×

×

×

×

binary

×

×

×

×

×

×

×

yy-mm-dd

×

×

×

×

×

×

×

yymmdd

×

×

×

×

×

×

×

blob

×

×

×

×

×

×

blobprm

×

×

×

×

×

×

adec

×

×

×

×

×

×

×

bdec

×

×

×

×

×

×

×

(凡例)

○:格納できます。

×:格納できません。

注※

pdrorg出力バイナリ形式の入力データファイルの場合,格納できます。

(4) pdrorg出力バイナリ形式の入力データファイルに対する列名文のtypeオペランドの指定例

pdrorg出力バイナリ形式の入力データファイルに対する列名文のtypeオペランドの指定例を次に示します。

入力データ型

変換後データ型

BLOB型

BLOBパラメタ

BINARY型

BINARYパラメタ

BLOB型

func=(F_BLOB,

param=blob)

type=blob

func=(F_BIN,

param=binary,

type=blob)

BLOBパラメタ

type=blobprm

func=(F_BLOB,

param=blob)

type=blobprm

func=(F_BIN,

param=binary,

type=blobprm)

BINARY型

×

×

×

BINARYパラメタ

×

×

×

func=(F_BIN,

param=binary)

(凡例)

−:指定する必要はありません。

×:該当する入力データ型は,変換後データ型に変換できません。

F_BIN:

BINARY型をパラメタとする,プラグインが提供する抽象データ型のコンストラクタ関数です。

F_BLOB:

BLOB型をパラメタとする,プラグインが提供する抽象データ型のコンストラクタ関数です。