スケーラブルデータベースサーバ HiRDB Version 8 コマンドリファレンス(UNIX(R)用)

[目次][索引][前へ][次へ]

5.7.1 列名文

<この項の構成>
(1) 形式
(2) オペランドの説明
(3) 列構成情報ファイルに指定したデータ型と,表のデータ型が異なる場合のデータベースへの格納可否
(4) pdrorg出力バイナリ形式の入力データファイルに対する列名文のtypeオペランドの指定例

(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 × ×
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) 列名

入力データを格納する表の列の名称を記述します。

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

(b) type=データ型

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

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

記述方法 データ型の指定可否 備考
固定長データ形式 pdload用アンロードファイル
integer × なし。
smallint ×
char(n)※1※2 nはCHAR,MCHARのバイト数,mはNCHARのけた数で,格納先の表の列定義長と一致する必要はありません。また,数値型に変換する場合,文字列中にナル文字(¥0)は含めないでください。
nchar(m)※1※2
mchar(n)※1※2
varchar(n) × nはVARCHAR,MVARCHARの最大バイト数,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のデータ形式については,「5.5.3(3)(a)ADEC型(ASCII CODE DECIMAL)」を参照してください。
bdec(n) × DECIMAL列に格納するデータをバイナリデータ(2進数)で記述する入力データ形式です。nにはバイナリデータの長さを指定します。データ中には小数点を持たないため,列のデータ型に合わせて小数点位置を決定します。bdecのデータ形式については,「5.5.3(3)(b)BDEC型(BINARY DECIMAL)」を参照してください。

(凡例)
○:指定できます。
×:指定できません。

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

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

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

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

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

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

(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. NOT NULL属性の列,クラスタキー構成列,及び主キー構成列には指定できません。
  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
比較値が文字の場合に指定します。
指定した比較値が次の条件に当てはまる場合,制御文エラーになります。
  • DAT形式の場合
    先頭位置に指定した比較開始位置+比較値のバイト長−1>32,000
  • 固定長形式,及びバイナリ形式の場合
    先頭位置に指定した比較開始位置+比較値のバイト長−1>該当する列の定義長(各国文字列の場合は定義長×2)
x
比較値が16進数の場合に指定します。
指定した16進数の文字列(0〜f)を2文字で1バイトと扱います。
指定する文字は,大文字及び小文字のどちらでもかまいません。
指定した文字が16進数の文字列でない場合,又は指定した比較値が次の条件に当てはまる場合,制御文エラーになります。
  • DAT形式の場合
    先頭位置に指定した比較開始位置+比較値のバイト長−1>32,000
  • 固定長形式,及びバイナリ形式の場合
    先頭位置に指定した比較開始位置+比較値のバイト長−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形式
配列データ形式については,「5.5.4 繰返し列を含む表の配列データ形式」を参照してください。

<規則>
  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={utf-16be|utf-16le}を指定している場合,BINARY型パラメタファイル名の埋め字としてfilldataは使用できません(指定しても無視します)。
    その場合は埋め字として半角空白,タブ,及び\0を使用してください。
(j) sequence=(〔認可識別子.〕順序数生成子識別子〔,replace={’数値比較値’|(先頭位置,{c|x}’比較値’)|null|force}〕)

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

〔認可識別子.〕順序数生成子識別子
順序番号を取得する順序数生成子の識別子を指定します。
認可識別子を省略した場合は,pdload実行ユーザ(-uオプション又はPDUSER環境変数に設定した認可識別子)が仮定されます。

replace={’数値比較値’|(先頭位置,{c|x}’比較値’)|null|force
入力データを,順序数生成子から取得した順序番号で置き換える場合,その条件を指定します。
入力データとこのオペランドの指定値が一致した場合,該当する列のデータを順序数生成子から取得した順序番号に置き換えます。入力データのデータ型で値を比較するため,比較値はtypeオペランドに指定したデータの属性に合わせて指定してください。
’数値比較値’
入力データが数値属性の場合に,比較する数値を指定します。
指定方法については,(c)のnullオペランドの説明を参照してください。
(先頭位置,{c|x}’比較値’)
入力データが文字属性の場合に,比較する文字列を先頭位置と比較値で指定します。
指定方法については,(c)のnullオペランドの説明を参照してください。
null
入力データの値がnullの場合に順序番号で置き換えます。入力データファイルの形式がDAT形式又は拡張DAT形式の場合に指定できます。
force
無条件に置き換えます。
(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=埋め字データ〕〔,…〕)

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

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

〔認可識別子.〕関数名
格納するデータをプラグインの提供するコンストラクタ関数を呼び出して生成する場合に,その関数名称を指定します。
関数の戻り値が格納対象の列の抽象データ型と異なる関数,及び引数に抽象データ型を持つ関数は指定できません。
認可識別子を省略した場合は,抽象データ型を定義したユーザが仮定されます。

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}’比較値’)}
入力データファイルが固定長データ形式の場合に,入力となるパラメタをナル値としたい場合に指定します。
比較は入力パラメタのデータ型となります。指定方法については,(c)のnullオペランドの説明を参照してください。

mode={text|bin}
指定方法については,(g)のmodeオペランドの説明を参照してください。

enclose_del={yes|no}
指定方法については,(h)のenclose_delオペランドの説明を参照してください。

filldata=埋め字データ
指定方法については,(i)のfilldataオペランドの説明を参照してください。

<funcオペランド内の指定順序>
funcオペランド内に指定する,param,type,null,filldata,mode,及びenclose_delの指定順序を次に示します
  • 固定長データ形式の場合

    [図データ]

  • バイナリ形式の場合

    [図データ]

  • DAT形式の場合

    [図データ]

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

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

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

列構成情報ファイルに指定したデータ型 表のデータ型
INT
EGER
SMALL
INT
CHAR NCHAR MCHAR VAR
CHAR
NVAR
CHAR
MVAR
CHAR
FLOAT SMALL
FLT
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 × × × × × × × × × ×
adec × × × × × × × × × ×
bdec × × × × × × × × × ×

(凡例)
○:格納できます。
×:格納できません。

注※
文字データ型の入力データ長と格納先の表の定義長に応じて,次のようにデータが格納されます。
入力データ長=格納先の表のデータ長の場合は,入力されたデータをそのまま格納します。
入力データ長>格納先の表のデータ長の場合は,エラーになります。
入力データ長<格納先の表のデータ長の場合は,(n+1)以降を空白文字で拡張して格納します。

表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型をパラメタとする,プラグインが提供する抽象データ型のコンストラクタ関数です。