Hitachi

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


14.4.1 CLEAR(レコードの一括削除)

〈この項の構成〉

(1) 機能

指定したレコードのデータベースキーに対応したレコード実現値を一括して削除します。

(2) 指定形式

 CLEAR レコード名
 
       WHERE (DBKEY = 条件値1) ;
注意事項

最後にセミコロン( ; )の指定が必要です。

(3) オペランドの説明

●レコード名

〜<識別子>((1〜30バイト))

レコード実現値を一括削除するレコード名を指定します。

レコード名に英小文字を使用している場合は,レコード名を引用符(")で囲んでください。引用符で囲まないと,英小文字は英大文字と見なされます。

●WHERE (DBKEY = 条件値1)

一括削除するレコードのデータベースキーを=条件で指定します。

条件値1 ::=

{DBKEYに対応する値|

(構成要素に対応する値〔,構成要素に対応する値〕...)}

DBKEYに対応する値として,DBKEYの構成要素全体に対して1つの値を指定してください。

DBKEYに対応する値の指定形式を次の表に示します。

表14‒6 DBKEYに対応する値の指定形式

項番

DBKEYのデータ型

条件値の形式

指定例

備考

1

CHARACTER

文字列定数

DBKEY='AAABBB'

DBKEYを構成するすべての構成要素のデータ型がCHARACTERの場合

2

16進文字列定数

DBKEY=X'414141424242'

3

INTEGER

整数定数

DBKEY=100

DBKEYが一連番号の場合,またはDBKEYの構成要素数が1つでデータ型がINTEGERの場合

4

16進文字列定数

DBKEY=X'64000000'

5

PACKED DECIMAL FIXED

10進数定数

DBKEY=123.456

DBKEYの構成要素数が1つでデータ型がPACKED DECIMAL FIXEDの場合

6

16進文字列定数

DBKEY=X'0123456C'

7

上記以外

16進文字列定数

DBKEY=X'010241414164000000'

なし

注※

各定数の表記方法については,マニュアル「HiRDB SQLリファレンス」の「定数」を参照してください。

DBKEYに対応する値のうち,一連番号に対応する部分には任意の値を指定してください。

構成要素に対応する値として,DBKEYの1つの構成要素に対して値を指定してください。指定できる値の個数と順序はDBKEYの構成要素と一致させてください。

構成要素に対応する値の指定形式を次の表に示します。

表14‒7 構成要素に対応する値の指定形式

項番

構成要素のデータ型

条件値の形式

指定例

1

CHARACTER

文字列定数

'AAABBB'

2

16進文字列定数

X'414141424242'

3

XCHARACTER

16進文字列定数

X'01020304'

4

PACKED DECIMAL FIXED

10進数定数

123.456

5

16進文字列定数

X'123C'

6

INTEGER

整数定数

100

7

16進文字列定数

X'64000000'

注※

各定数の表記方法については,マニュアル「HiRDB SQLリファレンス」の「定数」を参照してください。

構成要素に対応する値のうち,一連番号に対応する部分には任意の値を指定してください。

(4) 使用例

CLEARコマンドを実行してレコード実現値を一括削除する手順を次に示します。

SDBデータベース定義

操作するSDBデータベース定義は次のとおりです。

  • SDBデータベース種別:4V DAM

  • SDBデータベース名:DAMX

  • 削除対象のレコード名:MAB5000

  • 削除対象のデータベースキー:X'303031'

  • 削除対象のレコードのDBKEY:一連番号の構成要素を含む

レコード実現値

格納されているレコード実現値は次のとおりです。この例では,破線内のレコードを一括削除します。

[図データ]

手順

  1. CLEARコマンドを実行する

     CLEAR "MAB5000" WHERE (DBKEY=(X'303031',0));
  2. 一括削除対象のレコード名とデータベースキーが正しいかを確認する

     CLEAR RECORD INFORMATION
       NAME "MAB5000"               
       DBKEY                           : X'30303100000000'
     AGREE TO CLEAR ? [ENTER YES OR NO]
     YES     ←上記の情報を確認後,YESを指定します。

    CLEARコマンドを実行してよいかどうかの確認メッセージが表示されます。

    一括削除対象のレコード名(NAME),および一括削除対象のデータベースキー(DBKEY)を確認してから,YESを指定してください。

    参考

    一括削除対象のレコード名などに誤りがある場合は,NOを指定してCLEARコマンドの実行を中止してください。

  3. CLEARコマンドの実行結果を確認する

     KFPB64050-I CLEAR command processing completed

    CLEARコマンドの実行結果が表示されます。

(5) CLEARコマンドの実行時に表示される情報

CLEARコマンドの実行時に表示される情報について説明します。

(a) CLEARコマンドの実行確認メッセージ

CLEARコマンドを実行した際,次に示す確認メッセージが表示されます。

(例)

 CLEAR RECORD INFORMATION
   NAME "MAB5000"                                         ...1
   DBKEY                           : X'30303100000000'    ...2
 AGREE TO CLEAR ? [ENTER YES OR NO]                       ...3
[説明]
  1. 一括削除対象のレコード名が表示されます。

  2. 一括削除対象のレコードのデータベースキーが表示されます。

    データベースキーに一連番号が含まれる場合,一連番号の部分にはX'00000000'が表示されます。

  3. CLEARコマンドを実行するかどうかの確認メッセージが表示されます。

    レコード名およびデータベースキーを確認(1.および2.の情報を確認)し,問題がない場合はYESまたはyesを指定してください。

    CLEARコマンドの実行を中止する場合は,NOまたはnoを指定してください。

    参考
    • YESまたはyes以外を指定した場合,NOが指定されたと見なされます。

(6) 留意事項

  1. CLEARコマンドは,個別開始している状態で実行してください。

  2. 検索条件の条件値は,DBKEYまたは構成要素のデータ型とデータ属性が一致している必要があります。pdsdbexeコマンドは,パディング(データを追加して長さを合わせる処理)や,切り捨てなどのデータの加工を行いません。また,データ型によっては,次の条件を満たす必要があります。

    • データ型がCHARACTERまたはXCHARACTERの場合

      データ長が一致している必要があります。

    • データ型がPACKED DECIMAL FIXEDまたはINTEGERの場合

      条件値が,構成要素のデータ型で表現できる範囲の値である必要があります。また,条件値を16進文字列定数で指定した場合,条件値の長さは,構成要素の長さと同じである必要があります。

      なお,データ型がPACKED DECIMAL FIXEDの場合,条件値に指定した文字数で整数部桁数および小数部桁数が決まります。

      (例)

      01234.000 → 整数部桁数5,小数部桁数3

      .12345 → 整数部桁数0,小数部桁数5

      上記の例のようにゼロサプレスされません。条件値の整数部桁数および小数部桁数が,構成要素の整数部桁数および小数部桁数以下になるようにしてください。

  3. CLEARコマンドが正常終了したあとに#EXITコマンドを実行する場合は,次のようにpdsdbexe操作コマンドを実行してください。

    • レコードの一括削除を実行したトランザクションを正常終了させたい場合は,COMMITコマンドを実行してください。

    • レコードの一括削除を実行したトランザクションを取り消したい場合は,ROLLBACKコマンドを実行してください。