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

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

5.9 データロード時のナル値,及び既定値

データロード時のナル値,及び既定値は,表定義時のナル値,既定値の指定,及びpdload実行時の制御文の指定によって格納値が変わります。データロード時に格納されるナル値,及び既定値を次の表に示します。

表5-48 データロード時に格納されるナル値,及び既定値

入力データファイルの形式 表定義時の指定値 pdload実行時のoption文のnull_stringの指定値 データロード時の格納値
非ナル値制約指定 WITH DEFAULT DEFAULT句 入力データがナル値の場合※1 列名文を省略した場合※2 非ナル値の場合
DAT形式 NULL あり default DEFAULT句の既定値 DEFAULT句の既定値 入力データの値
null ナル値
なし default ナル値
null
NOT NULL あり default WITH DEFAULTの既定値 WITH DEFAULTの既定値
null
なし あり default DEFAULT句の既定値 DEFAULT句の既定値
null ナル値(エラーとなります)
なし default ×
null
拡張DAT形式 NULL あり default DEFAULT句の既定値 DEFAULT句の既定値 入力データの値
null ナル値
なし default ナル値
null
NOT NULL あり default WITH DEFAULTの既定値 WITH DEFAULTの既定値
null
なし ※3 あり default DEFAULT句の既定値 DEFAULT句の既定値
null ナル値(エラーとなります)
なし default ×
null
※4 あり default DEFAULT句の既定値 DEFAULT句の既定値
null WITH DEFAULTの既定値
なし default ×
null
バイナリ形式 NULL あり ナル値 × 入力データの値
なし
NOT NULL あり ×
なし あり
なし
固定長データ形式 NULL あり ナル値 DEFAULT句の既定値 入力データの値
なし ナル値
NOT NULL あり × WITH DEFAULTの既定値
なし あり DEFAULT句の既定値
なし ×
pdrorg出力バイナリ形式 NULL あり ナル値 DEFAULT句の既定値 入力データの値
なし ナル値
NOT NULL あり ナル値(エラーとなります) WITH DEFAULTの既定値
なし あり DEFAULT句の既定値
なし ×

(凡例)
DEFAULT句の既定値:詳細については表5-49を参照してください。
WITH DEFAULT句の既定値:詳細については表5-50を参照してください。
−:該当しません。
×:該当する表定義時の指定値,及びpdload実行時の指定値の組み合わせでは,列名文を指定又は省略できないことを示します。

WITH DEFAULT,又はDEFAULT句を指定した列にUNIQUE指定のクラスタキー又は主キーが定義されている場合,既定値を格納するとキー重複エラーとなります。この場合,必ず入力データを指定してください。

注※1
入力データが次のデータの場合,入力データがナル値となります。
DAT形式の場合:
  • "*"となっているデータ
  • 記述がないデータ
拡張DAT形式の場合:
  • "*"となっているデータ
  • 記述がないデータ
  • 数データ型,日付データ型,日間隔データ型,時刻データ型,時間隔データ型,又は時刻印データ型の列の,入力データがすべて半角空白又はタブのデータ
バイナリ形式の場合:
ナル値・関数情報ファイルの列番号文のnullオペランドに指定した比較値と一致するデータ
固定長データ形式の場合:
列構成情報ファイルの列名文のnullオペランドに指定した比較値と一致するデータ
pdrorg出力バイナリ形式の場合:
列データ位置オフセットが0のデータ

注※2
列構成情報ファイルで,該当する列に対する列名文を省略している場合を指します。

注※3
次の列を指します。
  • UNIQUEを指定したインデクスの構成列
  • UNIQUEを指定したクラスタキーの列
  • PRIMARYを指定したクラスタキーの列
  • 主キーの列
  • 分割キーの構成列

注※4
注※3以外の列を指します。

表5-49 データロード時に格納されるDEFAULT句の既定値

データ型 格納する列のDEFAULT句の指定
定数 USER CURRENT
_TIME,
又はCURRENT TIME
CURRENT
_DATE,
又はCURRENT DATE
CURRENT
_TIMESTAMP,
又はCURRENT TIMESTAMP
NULL 省略
数データ INTEGER
SMALLINT
DECIMAL
FLOAT
SMALLFLT
設定値 ナル値 WITH DEFAULTの既定値と同じ
文字データ CHARACTER 行を挿入した実行ユーザの認可識別子 pdload実行時の時刻※1 pdload実行時の日付※2 pdload実行時の日時※3
VARCHAR
混在文字データ MCHAR
MVARCHAR
各国文字データ NCHAR
NVARCHAR
日付データ DATE pdload実行時の日付
日間隔データ INTERVAL YEAR TO DAY
時刻データ TIME pdload実行時の時刻
時間隔データ INTERVAL HOUR TO SECOND
時刻印データ TIMESTAMP pdload実行時の日時※4
バイナリデータ BINARY
長大データ BLOB

(凡例)−:設定できません。

注※1
hh:mm:ssの形式で格納されます。

注※2
yyyy-mm-ddの形式で格納されます。

注※3
yyyy-mm-dd hh:mm:ss〔.000000〕の形式で格納されます。

注※4
小数秒部分は0を格納します。

表5-50 データロード時に格納されるWITH DEFAULTの既定値

データ型 格納する値
数データ INTEGER
SMALLINT
DECIMAL
FLOAT
SMALLFLT
0
文字データ CHARACTER 空白
VARCHAR 1バイトの空白
各国文字データ NCHAR 空白
NVARCHAR 1文字の空白
混在文字データ MCHAR 空白
MVARCHAR 1バイトの空白
日付データ DATE 現在の日付
日間隔データ INTERVAL YEAR TO DAY 0か年0か月0か日
時刻データ TIME 現在の時刻
時間隔データ INTERVAL HOUR TO SECOND 0時間0分0秒
時刻印データ TIMESTAMP 現在の日時
バイナリデータ BINARY 長さ0のデータ
長大データ BLOB 長さ0のデータ

現在の日付,現在の時刻,及び現在の日時とは,データベース作成ユティリティを実行した日付及び時刻を示します。