STORE |
[RECORD ] [IN ] [FILE ] view-name |
|||||
[PASSWORD = operand1]
|
||||||
[CIPHER = operand2]
|
||||||
USING |
NUMBER operand3
|
|||||
GIVING |
STORE |
[RECORD ] [IN ] [FILE ] view-name
|
|||||
[PASSWORD = operand1]
|
||||||
[CIPHER = operand2]
|
||||||
USING |
NUMBER operand3
|
|||||
GIVING |
||||||
[USING ] SAME [RECORD ] [AS ] [STATEMENT [(r)]]
|
||||||
SET |
[operand4=operand5] | |||||
WITH |
このドキュメントでは、次のトピックについて説明します。
構文図で使用されている記号については、「構文記号」を参照してください。
関連ステートメント:ACCEPT/REJECT | AT BREAK | AT START OF DATA | AT END OF DATA | BACKOUT TRANSACTION | BEFORE BREAK PROCESSING | DELETE | END TRANSACTION | FIND | GET | GET SAME | GET TRANSACTION DATA | HISTOGRAM | LIMIT | PASSW | PERFORM BREAK PROCESSING | READ | RETRY | UPDATE
関連機能グループ:「データベースへのアクセスと更新」
STORE
ステートメントは、データベースにレコードを追加するために使用します。
Adabas | Natural システム変数 *ISN には、STORE ステートメントの実行の結果として新しいレコードに割り当てられた Adabas ISN が含まれます。 *ISN への後続の参照には、関連する STORE ステートメントのステートメント番号が含まれている必要があります。
|
---|---|
DL/I |
このステートメントは、セグメントオカレンスを追加するために使用できます。 データセットをプライマリキーで定義する場合は、プライマリキーフィールドに値を入力する必要があります。 GSAM データベースの場合、レコードはデータベースの最後に追加する必要があります(GSAM 制限のため)。 Natural システム変数 |
SQL |
このステートメントは、SQL テーブルに行を追加するために使用できます。 Natural システム変数 |
VSAM |
データセットをプライマリキーで定義する場合は、プライマリキーフィールドに値を入力する必要があります。 Natural システム変数 VSAM データベースの場合、Natural システム変数 |
オペランド定義テーブル:
オペランド | 構文要素 | フォーマット | ステートメント参照 | ダイナミック定義 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operand1 | C | S | A | 可 | 不可 | |||||||||||||||
operand2 | C | S | N | 可 | 不可 | |||||||||||||||
operand3 | S | N | P | B * | 不可 | 可 | ||||||||||||||
operand4 | S | A | A | N | P | I | F | B | D | T | L | 不可 | 不可 | |||||||
operand5 | C | S | A | A | N | P | I | F | B | D | T | L | 可 | 不可 |
* operand3 のフォーマット B は、4 以下の長さでのみ使用できます。
構文要素の説明:
view-name |
view-name として、ビューの名前を指定します。この名前は、 レポーティングモードでは、 |
---|---|
PASSWORD=operand1 |
この節は、パスワード保護されたファイルのデータを更新するときのパスワード(operand1)の指定に使用します。 パスワード(operand1)は、英数字定数または英数字変数として指定できます。 最大 8 文字から成り、特殊文字または埋め込み空白は使用できません。 パスワードを定数として指定する場合は、一重引用符で囲む必要があります。 |
CIPHER=operand2 |
この節は、暗号化されたファイルのデータを更新するときのサイファキー(operand2)の指定に使用します。 サイファキー(operand2)は、数値定数(8 桁)またはユーザー定義変数(フォーマット/長さ N8)として指定できます。 詳細については、 |
USING NUMBER operand3
または GIVING NUMBER operand3 |
この節は、Adabas または VSAM データベースでのみ使用できます。 VSAM データベースの場合、この節は VSAM RRDS に対してのみ有効です。この場合、ユーザー指定の RRN(相対レコード番号)は上記の ISN に対応します。 この節は、ユーザー指定の Adabas ISN を持つレコードを保存するために使用します。 指定した ISN を持つレコードがすでに存在しているときには、エラーメッセージが返され、 |
SET/WITH operand4=operand5 |
この節は、 DL/I-Specific の考慮事項:
可変長のセグメントは、 |
USING SAME (r) |
この節は、 |
** Example 'STOEX1S': STORE (structured mode) ** ** CAUTION: Executing this example will modify the database records! ************************************************************************ DEFINE DATA LOCAL 1 EMPL-VIEW VIEW OF EMPLOYEES 2 PERSONNEL-ID 2 NAME 2 FIRST-NAME 2 MAR-STAT 2 BIRTH 2 CITY 2 COUNTRY * 1 #PERSONNEL-ID (A8) 1 #NAME (A20) 1 #FIRST-NAME (A15) 1 #BIRTH-D (D) 1 #MAR-STAT (A1) 1 #BIRTH (A8) 1 #CITY (A20) 1 #COUNTRY (A3) 1 #CONF (A1) END-DEFINE * REPEAT INPUT 'ENTER A PERSONNEL ID AND NAME (OR ''END'' TO END)' // 'PERSONNEL-ID : ' #PERSONNEL-ID // 'NAME : ' #NAME / 'FIRST-NAME : ' #FIRST-NAME /* /* VALIDATE ENTERED DATA /* IF #PERSONNEL-ID = 'END' OR #NAME = 'END' STOP END-IF IF #NAME = ' ' REINPUT WITH TEXT 'ENTER A LAST-NAME' MARK 2 AND SOUND ALARM END-IF IF #FIRST-NAME = ' ' REINPUT WITH TEXT 'ENTER A FIRST-NAME' MARK 3 AND SOUND ALARM END-IF /* /* ENSURE PERSON IS NOT ALREADY ON FILE /* FIND NUMBER EMPL-VIEW WITH PERSONNEL-ID = #PERSONNEL-ID IF *NUMBER > 0 REINPUT 'PERSON WITH SAME PERSONNEL-ID ALREADY EXISTS' MARK 1 AND SOUND ALARM END-IF MOVE 'N' TO #CONF /* /* GET FURTHER INFORMATION /* INPUT 'ADDITIONAL PERSONNEL DATA' //// 'PERSONNEL-ID :' #PERSONNEL-ID (AD=IO) / 'NAME :' #NAME (AD=IO) / 'FIRST-NAME :' #FIRST-NAME (AD=IO) /// 'MARITAL STATUS :' #MAR-STAT / 'DATE OF BIRTH (YYYYMMDD) :' #BIRTH / 'CITY :' #CITY / 'COUNTRY (3 CHARACTERS) :' #COUNTRY // 'ADD THIS RECORD (Y/N) :' #CONF (AD=M) /* /* ENSURE REQUIRED FIELDS CONTAIN VALID DATA /* IF NOT (#MAR-STAT = 'S' OR = 'M' OR = 'D' OR = 'W') REINPUT TEXT 'ENTER VALID MARITAL STATUS S=SINGLE ' - 'M=MARRIED D=DIVORCED W=WIDOWED' MARK 1 END-IF IF NOT (#BIRTH = MASK(YYYYMMDD) AND #BIRTH = MASK(1582-2699)) REINPUT TEXT 'ENTER CORRECT DATE' MARK 2 END-IF IF #CITY = ' ' REINPUT TEXT 'ENTER A CITY NAME' MARK 3 END-IF IF #COUNTRY = ' ' REINPUT TEXT 'ENTER A COUNTRY CODE' MARK 4 END-IF IF NOT (#CONF = 'N' OR= 'Y') REINPUT TEXT 'ENTER Y (YES) OR N (NO)' MARK 5 END-IF IF #CONF = 'N' ESCAPE TOP END-IF /* /* ADD THE RECORD /* MOVE EDITED #BIRTH TO #BIRTH-D (EM=YYYYMMDD) /* EMPL-VIEW.PERSONNEL-ID := #PERSONNEL-ID EMPL-VIEW.NAME := #NAME EMPL-VIEW.FIRST-NAME := #FIRST-NAME EMPL-VIEW.MAR-STAT := #MAR-STAT EMPL-VIEW.BIRTH := #BIRTH-D EMPL-VIEW.CITY := #CITY EMPL-VIEW.COUNTRY := #COUNTRY /* STORE RECORD IN EMPL-VIEW /* END OF TRANSACTION /* WRITE NOTITLE 'RECORD HAS BEEN ADDED' /* END-REPEAT END
ENTER A PERSONNEL ID AND NAME (OR 'END' TO END) PERSONNEL-ID : 90001100 NAME : JONES FIRST-NAME : EDWARD
ADDITIONAL PERSONNEL DATA PERSONNEL-ID : 90001100 NAME : JONES FIRST-NAME : EDWARD MARITAL STATUS : DATE OF BIRTH (YYYYMMDD) : CITY : COUNTRY (3 CHARACTERS) : ADD THIS RECORD (Y/N) : N
レポーティングモードの例はライブラリ SYSEXRM のプログラム STOEX1R を参照してください。