7.123.3 UPDATE の使用例

例1:ワークステーションから受注番号と顧客番号を入力するようユーザーに要求し、それに関連付けられた注文頭書きレコードを更新します。

REQUEST  FIELDS(#ORDNUM #CUSTNO)
UPDATE   FIELDS(#ORDNUM #CUSTNO) IN_FILE(ORDHDR) WITH_KEY(#ORDNUM)
 

例2:ワークステーションで既存の受注番号と新しい受注番号を入力するようユーザーに要求します。既存の注文頭書きとそれに関連付けられたすべての明細行を新しい受注番号に更新します。

DEFINE  FIELD(#OLDORDNUM) REFFLD(#ORDNUM) LABEL('Existing order')
DEFINE  FIELD(#NEWORDNUM) REFFLD(#ORDNUM) LABEL('New order')
 
REQUEST FIELDS(#OLDORDNUM #NEWORDNUM)
 
CHANGE  FIELD(#ORDNUM) TO(#NEWORDNUM)
UPDATE  FIELDS(#ORDNUM) IN_FILE(ORDHDR) WITH_KEY(#OLDORDNUM)
UPDATE  FIELDS(#ORDNUM) IN_FILE(ORDLIN) WITH_KEY(#OLDORDNUM)
 

例3:指定された製品カテゴリー(#CAT)の全レコードの価格(#PRICE)を$100.00に変更します。

CHANGE  FIELD(#PRICE) TO(100.00)
UPDATE  FIELDS(#PRICE) IN_FILE(PROMSTV1) WITH_KEY(#CAT)
 

例4:指定された製品カテゴリー(#CAT)の全レコードの価格(#PRICE)を$100.00高くします。

SELECT  FIELDS(#PRICE) FROM_FILE(PROMSTV1) WITH_KEY(#CAT)
CHANGE  FIELD(#PRICE) TO('#PRICE + 100.00')
UPDATE  FIELDS(#PRICE) IN_FILE(PROMSTV1)
ENDSELECT
 

例5:指定された製品カテゴリー(#CAT)のすべてのコスト関連フィールドをリセットします。

GROUP_BY   NAME(#XG_COST) FIELDS(#COST1 #COST2 #COST3 #COST4)
CHANGE     FIELD(#XG_COST) TO(*DEFAULT)
UPDATE     FIELDS(#XG_COST) IN_FILE(PROMSTV1) WITH_KEY(#CAT)