Hitachi

ノンストップデータベース HiRDB Version 10 構造型データベース機能


付録K.3 入力情報とキーの定義の関係【4V FMB,4V AFM】

4V FMBまたは4V AFMのSDBデータベースの場合の,入力情報とキーの定義の関係について,次に示します。

表K‒9 入力情報とキーの定義の関係(1/2)

要求

SDBデータベース種別と定義

機能

レコード型名

DBKEY

RDエリアの指定

4V FMB

4V AFM

DBKEYはK,Nの構成要素

DBKEYはK,Lの構成要素

DBKEYはK,Aの構成要素

DBKEYはK,L+K,Nの構成要素

DBKEYはK,A+K,Nの構成要素

子レコード型数は1

キーの定義例

(a)

(b)

(c)

(d)

(e)

レコードの検索

指定あり

指定あり

指定あり

指定なし

指定なし

指定あり

※11

※11

※11

※11

指定なし

※1

※1

※1

※1

指定なし

指定あり

指定あり

※2

※2

※2

※2

※2

指定なし

※2

※2

※2

※2

※2

指定なし

指定あり

※11

※11

※11

※11

指定なし

※2

※3

※3

※3

※3

レコードの格納

指定あり

指定あり

指定なし

※4

×

SQLCODE=-66214

※4

×

SQLCODE=-66214

指定なし

指定あり

※2

※2

※2

※2

※2

指定なし

※2

※5

×SQLCODE=-66214

※5

×SQLCODE=-66214

レコードの更新

指定あり

指定あり※8

指定なし

※6

※6

※6

※6

※6

指定なし

指定あり※8

指定なし

※7

※7

※7

※7

※7

レコードの削除

指定あり

指定あり※8

指定なし

レコードの一括削除

指定あり

指定あり

指定なし

指定なし

指定あり

※2

※2

※2

※2

※2

指定なし

※2

×

SQLCODE=-66213

×

SQLCODE=-66213

×

SQLCODE=-66213

×

SQLCODE=-66213

表K‒10 入力情報とキーの定義の関係(2/2)

要求

SDBデータベース種別と定義

機能

レコード型名

DBKEY

RDエリアの指定

4V DAMまたは4V MAM

4V DAM

そのほか

DBKEYはK,RまたはK,Mの構成要素

DBKEYはK,R+K,NまたはK,M+K,Nの構成要素

DBKEYはK,RまたはK,Mの構成要素

DBKEYはK,R+K,NまたはK,M+K,Nの構成要素

キー値とレコードの対応は1対1

キー値とレコードの対応はn(2以上)対1

子レコード型数はn

キーの定義例

(f)

(g)

(h)

(i)

(j)

レコードの検索

指定あり

指定あり

指定あり

指定なし

指定なし

指定あり

※12

※12

※11

指定なし

※9

※9

×

SQLCODE=-66213

×

SQLCODE=-66213

×

SQLCODE=-66213

指定なし

指定あり

指定あり

※5

※5

※5

※5

※5

指定なし

※5

※5

※5

※5

※5

指定なし

指定あり

※13

※13

※12

※12

※11

指定なし

×

SQLCODE=-66217

×

SQLCODE=-66217

×

SQLCODE=-66217

×

SQLCODE=-66217

×

SQLCODE=-66217

レコードの格納

指定あり

指定あり

指定なし

※9

※9

×

SQLCODE=-66214

×

SQLCODE=-66214

×

SQLCODE=-66214

指定なし

指定あり

※10

※10

※10

※10

※10

指定なし

×

SQLCODE=-66214

×

SQLCODE=-66214

×

SQLCODE=-66214

×

SQLCODE=-66214

×

SQLCODE=-66214

レコードの更新

指定あり

指定あり

指定なし

※6

※6

※6

※6

※6

指定なし

指定あり

指定なし

※7

※7

※7

※7

※7

レコードの削除

指定あり

指定あり※8

指定なし

レコードの一括削除

指定あり

指定あり

指定なし

指定なし

指定あり

※10

※10

※10

※10

※10

指定なし

×

SQLCODE=-66213

×

SQLCODE=-66213

×

SQLCODE=-66213

×

SQLCODE=-66213

×

SQLCODE=-66213

(凡例)

○:要求できます。

×:要求できません。

−:APIでエラーとなります。

空白:該当しません。

(a)〜(j)のキーの定義例については,「付録K.3(1) キーの定義例」の(a)〜(j)を参照してください。

DBKEYについては,4V FMBのSDBデータベースの場合は「11.5.1(5)(d) レベル番号,ITEM」を参照してください。4V AFMのSDBデータベースの場合は「11.6.1(5)(d) レベル番号,ITEM」を参照してください。

注※1

KEYDEF句の定義からキー(K,LまたはK,A)を取得します。

キーが定義されていない場合は,SQLCODE=-66220となります。キーが複数定義されている場合は,SQLCODE=-66213となります。

注※2

SDBデータベース定義からレコード型名を取得します。

注※3

SDBデータベース定義からレコード型名を取得します。キー(K,LまたはK,A)はKEYDEF句の定義から取得します。

キーが定義されていない場合は,SQLCODE=-66220となります。キーが複数定義されている場合は,SQLCODE=-66213となります。

注※4

KEYDEF句の定義からキー(K,L)を取得します。

キーが定義されていない場合は,SQLCODE=-66220となります。キーが複数定義されている場合は,SQLCODE=-66214となります。

注※5

定義からレコード型名を取得します。キー(K,L)はKEYDEF句の定義から取得します。

キーが定義されていない場合は,SQLCODE=-66220となります。キーが複数定義されている場合は,SQLCODE=-66214となります。

注※6

レコード型名が指定ありで,検索または格納で更新対象のレコードに位置づけしていることが前提となります。レコード型名が指定ありで,位置づけしていない場合は,SQLCODE=-66207となります。

注※7

レコード型名が指定なしで,検索または格納で更新対象のレコードに位置づけしていることが前提となります。レコード型名が指定なしで位置づけしていない場合は,SQLCODE=-66207となります。

注※8

条件式が指定されていても,その指定は無効となります。

注※9

レコード分割キーは,指定のレコード型名とKEYDEF句の定義から取得します。

注※10

指定のDBKEY(レコード分割キー)からレコード型名を取得します。

注※11

4V固有エリア(要求部)の一連番号指定,またはキー以外の条件でユーザキーを指定する場合,KEYDEF句の定義でシーケンシャルインデクスキーのキー値が複数定義されているときは,SQLCODE=-66213となります。

注※12

4V固有エリア(要求部)の一連番号指定,またはキー以外の条件でユーザキーを指定する場合は,SQLCODE=-66213となります。

注※13

4V固有エリア(要求部)の一連番号指定,またはキー以外の条件でユーザキーを指定する場合は,SQLCODE=-66217となります。

〈この項の構成〉

(1) キーの定義例

TYPE K,RまたはTYPE K,Mを指定した場合,子レコード型は2つ以上指定が必要ですが,ここでは記載を省略しています。

(a) DBKEYが一連番号だけの場合

   RECORD R1
     02 DBKEY_L1   CHARACTER  4  TYPE D,L
   RECORD A1
     02 DBKEY_L1   CHARACTER  4  TYPE D,L
     02 DBKEY
       03 DBKEY_LN INTEGER       TYPE K,N

(b) DBKEYがそのほかのキー(TYPE K,L)だけの場合

   RECORD R1
     02 DBKEY_L1   CHARACTER  4  TYPE D,L
     02 DBKEY_L2   CHARACTER  4  TYPE K,L
   RECORD A1
     02 DBKEY_L1   CHARACTER  4  TYPE D,L
     02 DBKEY
       03 DBKEY_L2 CHARACTER  4  TYPE K,L
     02 DBKEY_NN   INTEGER       TYPE N,N

(c) DBKEYがRDエリア分割キー(TYPE K,A)だけの場合

   RECORD R1
     02 DBKEY_L1   CHARACTER  4  TYPE D,L
     02 DBKEY_L2   CHARACTER  4  TYPE K,A
   RECORD A1
     02 DBKEY_L1   CHARACTER  4  TYPE D,L
     02 DBKEY
       03 DBKEY_L2 CHARACTER  4  TYPE K,A
     02 DBKEY_NN   INTEGER       TYPE N,N

(d) DBKEYがそのほかのキー(TYPE K,L)と一連番号だけの場合

   RECORD R1
     02 DBKEY_L1   CHARACTER  4  TYPE D,L
     02 DBKEY_L2   CHARACTER  4  TYPE K,L
   RECORD A1
     02 DBKEY_L1   CHARACTER  4  TYPE D,L
     02 DBKEY
       03 DBKEY_L2 CHARACTER  4  TYPE K,L
       03 DBKEY_KN INTEGER       TYPE K,N

(e) DBKEYがRDエリア分割キー(TYPE K,A)と一連番号だけの場合

   RECORD R1
     02 DBKEY_L1   CHARACTER  4  TYPE D,L
     02 DBKEY_L2   CHARACTER  4  TYPE K,A
   RECORD A1
     02 DBKEY_L1   CHARACTER  4  TYPE D,L
     02 DBKEY
       03 DBKEY_L2 CHARACTER  4  TYPE K,A
       03 DBKEY_KN INTEGER       TYPE K,N

(f) DBKEYがレコード分割キー(TYPE K,R)またはレコード分割キー+RDエリア分割キー(TYPE K,M)だけの場合

   RECORD R1
     02 DBKEY_L1   CHARACTER  4  TYPE D,L
     02 DBKEY_L2   CHARACTER  4  TYPE K,R (またはTYPE K,M)
   RECORD A1
     02 DBKEY_L1   CHARACTER  4  TYPE D,L
     02 DBKEY
       03 DBKEY_L2 CHARACTER  4  TYPE K,R (またはTYPE K,M)
     02 DBKEY_NN   INTEGER       TYPE N,N

(g) DBKEYがレコード分割キー(TYPE K,R)と一連番号だけの場合(またはレコード分割キー+RDエリア分割キー(TYPE K,M)と一連番号だけの場合)

   RECORD R1
     02 DBKEY_L1   CHARACTER  4  TYPE D,L
     02 DBKEY_L2   CHARACTER  4  TYPE K,R (またはTYPE K,M)
   RECORD A1
     02 DBKEY_L1   CHARACTER  4  TYPE D,L
     02 DBKEY
       03 DBKEY_L2 CHARACTER  4  TYPE K,R (またはTYPE K,M)
       03 DBKEY_KN INTEGER       TYPE K,N

(h) DBKEYがレコード分割キー(TYPE K,R)またはレコード分割キー+RDエリア分割キー(TYPE K,M)だけの場合

   RECORD R1
     02 DBKEY_L1   CHARACTER  4  TYPE D,L
     02 DBKEY_L2   CHARACTER  4  TYPE K,R (またはTYPE K,M)
   RECORD A1
     02 DBKEY_L1   CHARACTER  4  TYPE D,L
     02 DBKEY
       03 DBKEY_L2 CHARACTER  4  TYPE K,R (またはTYPE K,M)
     02 DBKEY_NN   INTEGER       TYPE N,N

(i) DBKEYがレコード分割キー(TYPE K,R)と一連番号だけの場合(またはレコード分割キー+RDエリア分割キー(TYPE K,M)と一連番号だけの場合)

   RECORD R1
     02 DBKEY_L1   CHARACTER  4  TYPE D,L
     02 DBKEY_L2   CHARACTER  4  TYPE K,R (またはTYPE K,M)
   RECORD A1
     02 DBKEY_L1   CHARACTER  4  TYPE D,L
     02 DBKEY
       03 DBKEY_L2 CHARACTER  4  TYPE K,R (またはTYPE K,M)
       03 DBKEY_KN INTEGER       TYPE K,N

(j) DBKEYがレベル2〜7のキーと一連番号の場合

   RECORD R1
     02 DBKEY_L1   CHARACTER  4  TYPE D,L
     02 DBKEY_L2   CHARACTER  4  TYPE K,L
     02 DBKEY_L3   CHARACTER  4  TYPE K,L
     02 DBKEY_L4   CHARACTER  4  TYPE K,L
     02 DBKEY_L5   CHARACTER  4  TYPE K,L
     02 DBKEY_L6   CHARACTER  4  TYPE K,L
     02 DBKEY_L7   CHARACTER  4  TYPE K,R
   RECORD A1
     02 DBKEY_L1   CHARACTER  4  TYPE D,L
     02 DBKEY
       03 DBKEY_L2 CHARACTER  4  TYPE K,L
       03 DBKEY_L3 CHARACTER  4  TYPE K,L
       03 DBKEY_L4 CHARACTER  4  TYPE K,L
       03 DBKEY_L5 CHARACTER  4  TYPE K,L
       03 DBKEY_L6 CHARACTER  4  TYPE K,L
       03 DBKEY_L7 CHARACTER  4  TYPE K,R
       03 DBKEY_KN INTEGER       TYPE K,N