Hitachi

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


14.8.3 #USAGE(DMLコマンドのひな形の出力)

〈この項の構成〉

(1) 機能

SDBデータベースまたはレコードに対するDMLコマンドのひな形を出力します。出力されたひな形を基にして,DMLコマンドを作成できます。

(2) 指定形式

(a) pdsdbexeコマンド起動時の-dオプションに4Vを指定した場合

 #USAGE {CLEAR|ERASE|FETCH|FETCHDB_ALL|FINISH|MODIFY|START|STORE}
 
      〔{SDBデータベース名|レコード名}〕
 
      〔{DBKEY|USERKEY}〕;

(b) pdsdbexeコマンド起動時の-dオプションにSDを指定した場合

 #USAGE {ERASE|FETCH|FINISH|MODIFY|START|STORE}
 
      {SDBデータベース名|レコード名}
注意事項

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

(3) オペランドの説明

●4Vの場合

{CLEAR|ERASE|FETCH|FETCHDB_ALL|FINISH|MODIFY|START|STORE}

SDの場合

{ERASE|FETCH|FINISH|MODIFY|START|STORE}

ひな形を出力するDMLコマンドを指定します。

CLEAR:CLEARコマンドのひな形を出力します。

ERASE:ERASEコマンドのひな形を出力します。

FETCH:FETCHコマンドのひな形を出力します。

FETCHDB_ALL:FETCHDB_ALLコマンドのひな形を出力します。

FINISH:FINISHコマンドのひな形を出力します。

MODIFY:MODIFYコマンドのひな形を出力します。

START:STARTコマンドのひな形を出力します。

STORE:STOREコマンドのひな形を出力します。

#USAGEコマンドを実行できるタイミングを次に示します。

  • STARTコマンドのひな形を出力する場合

    個別開始前または個別終了後に,#USAGEコマンドを実行できます。個別開始から個別終了(COMMITコマンド,ROLLBACKコマンド,DISCONNECTコマンドを含む)までの間は,#USAGEコマンドを実行できません。

  • CLEARコマンド,ERASEコマンド,FETCHコマンド,FETCHDB_ALLコマンド,FINISHコマンド,MODIFYコマンド,またはSTOREコマンドのひな形を出力する場合

    個別開始から個別終了(COMMITコマンド,ROLLBACKコマンド,DISCONNECTコマンドを含む)までの間に限り,#USAGEコマンドを実行できます。個別開始前または個別終了後には,#USAGEコマンドを実行できません。

●{SDBデータベース名|レコード名}

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

DMLコマンドの操作対象となるSDBデータベース名またはレコード名を指定します。

STARTまたはFINISHを指定した場合は,SDBデータベース名を指定します。

CLEAR,ERASE,FETCH,MODIFY,またはSTOREを指定した場合は,レコード名を指定します。

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

●{DBKEY|USERKEY}

出力する条件の種別を指定します。このオペランドは,FETCHを指定した場合に指定できます。

DBKEY:DBKEYの条件を出力します。

USERKEY:ユーザキーの条件を出力します。ユーザキーの定義がある場合に指定できます。

(4) 使用例

■CLEARコマンドのひな形を出力する場合
 #USAGE CLEAR "MAM1000";

次の実行結果が表示されます。

 CLEAR "MAM1000"
       WHERE (DBKEY = X'********')
 ;
■ERASEコマンドのひな形を出力する場合(-dオプションに4Vを指定した場合)
 #USAGE ERASE "FMB1000";

次の実行結果が表示されます。

 ERASE "FMB1000"
       TARGET { SEGMENT | OCCURRENCE }
 ;
■ERASEコマンドのひな形を出力する場合(-dオプションにSDを指定した場合)
 #USAGE ERASE "FMB1000";

次の実行結果が表示されます。

 ERASE "FMB1000"
       ALL
 ;
■FETCHコマンドのひな形を出力する場合(-dオプションに4Vを指定した場合)
 #USAGE FETCH "FMB1000";

次の実行結果が表示されます。

 FETCH "FMB1000"
       { FIRST | LAST | NEXT | PRIOR }
       WHERE
         (DBKEY = '********')
       TERMOPT   { YES | NO }
       SECIDXSUP { YES | NO }
 ;
■FETCHコマンドのひな形を出力する場合(ルートレコード,-dオプションにSDを指定した場合)
 #USAGE FETCH "FMB1000";

次の実行結果が表示されます。

 FETCH FOR UPDATE
       { FIRST | NEXT }
       "FMB1000"
       WHERE
         ("KEY1" = '********')
 ;
■FETCHコマンドのひな形を出力する場合(子レコード,-dオプションにSDを指定した場合)
 #USAGE FETCH "FMB1001";

次の実行結果が表示されます。

 FETCH FOR UPDATE
       { FIRST | LAST | NEXT | PRIOR }
       "FMB1001"
       WITHIN OWNER
 ;
■FETCHDB_ALLコマンドのひな形を出力する場合
 #USAGE FETCHDB_ALL;

次の実行結果が表示されます。

 FETCHDB_ALL
       { FIRST | NEXT | SKIP }
       BUFFER_SIZE *****
       WHERE (DBKEY <= X'********' AND 
              DBKEY >= X'********')
       UNTIL NOT FOUND
       TERMOPT   { YES | NO }
 ;
■MODIFYコマンドのひな形を出力する場合(-dオプションに4Vを指定した場合)
 #USAGE MODIFY "FMB1000";

次の実行結果が表示されます。

 MODIFY "FMB1000"
        SET "USERDA0" = ***.**
        USERPTROPT { SET | NOSET | CLEAR }
 ;
■MODIFYコマンドのひな形を出力する場合(-dオプションにSDを指定した場合)
 #USAGE MODIFY "FMB1000";

次の実行結果が表示されます。

 MODIFY "FMB1000"
        SET "USERDA0" = ***.**
 ;
■STARTコマンドのひな形を出力する場合
 #USAGE START "FMB1";

次の実行結果が表示されます。

 START "FMB1"
       ACSMODE   { READ  | UPDATE }
       ENQOPT    { SHARE | EXCLUSIVE | OCCUPY | NONE }
       AUTODEQ   { YES   | NO }
       ACSRDAREA ("*****","*****")
       RDAREAVAL { YES   | NO }
       FETCHDB_ALL ONLY
 ;
■STOREコマンドのひな形を出力する場合(-dオプションに4Vを指定した場合)
 #USAGE STORE "FMB1000";

次の実行結果が表示されます。

 STORE "FMB1000"
       SET "KEYDATA1" = '****'
         , "KEYDATA2" = '****'
         , "USERDA0" = ***.**
       DIRECTION  { NEXT | PRIOR }
       USERPTROPT { SET | NOSET }
       PAGESWITCH { CHANGE | OCCUPY | NOUSE }
       PCTFREEVAL { YES | NO }
       SECIDXSUP  { YES | NO }
       PAGENUM    **********
 ;
■STOREコマンドのひな形を出力する場合(-dオプションにSDを指定した場合)
 #USAGE STORE "FMB1000";

次の実行結果が表示されます。

 STORE "FMB1000"
       SET "KEYDATA1" = '****'
         , "KEYDATA2" = '****'
         , "USERDA0" = ***.**
 ;