COBOL」カテゴリーアーカイブ

COBOL言語

仕事に必須な15種類のCOBOLステートメント


COBOLのステートメントは、マクロ化されているため他の言語と比較すると種類は多くありません。

プログラム開発で使用するCOBOLステートメントは11種類、データベース操作のSQLは4種類、これだけ覚えればほとんどの仕事で対応することができます。

NO ステートメント 説明
01 DISPLAY CONSOLE、SYSOUT出力
02 ACCEPT 入力
03 MOVE 移送
04 COMPUTE 計算
05 INITIALIZE 領域の初期化
06 IF (ELSE) 条件分岐①
07 EVALUATE 条件分岐②
08 PERFORM 内部サブルーチン呼び出し
09 CALL 外部サブルーチン呼び出し
10 READ ファイル入力
11 WRITE ファイル出力
NO SQL データベース操作言語
01 SELECT データの読み込み
02 INSERT データの登録
03 UPDATE データの更新
04 DELETE データの削除

 

 

Sponsored Link

 


COBOL/YCOBOLサンプル一覧


NO PROGRAM STATEMENT
SAMPLE_01 DISPLAY(表示)
SAMPLE_02 MOVE(項目移送)
SAMPLE_03 Z型と9型変数の編集
SAMPLE_04 COMPUTE(演算)
SAMPLE_05 VALUE(変数の初期値設定)
SAMPLE_06 ACCEPT(キーボード入力)
SAMPLE_07 日付取得、表示
SAMPLE_08 無名項目の定義
SAMPLE_09 IF(条件判定①)
10 SAMPLE_10 ELSE(条件判定②)
11 SAMPLE_11 IF(条件判定③)
12 SAMPLE_12 EVALUATE(条件分岐)
13 SAMPLE_13 PERFORM(使用例①)
14 SAMPLE_14 PERFORM(使用例②)
15 SAMPLE_15 PERFORM(使用例③)
16 SAMPLE_16 PERFORM(使用例④)
17 SAMPLE_17 PERFORM(使用例⑤)
18 SAMPLE_18 PERFORM(使用例⑥)
19 SAMPLE_19 PERFORM(内部手続きへの遷移)
20 SAMPLE_20 COMPUTE(余りの算出)

データベースのテーブル操作/DELETE


【DELETEステートメント】

DELETEステートメントは、テーブルのデータを削除するためのステートメントです。
売上テーブルから任意のお客様番号、売上年月、商品コードのキーのデータを削除するSQLを記述してみます。
キーは、お客様番号=CUST01、売上年月=200001、商品コード=A0000001とします。

SALTBL(売上テーブル)

お客様番号 売上年月 商品番号 単価 数量 金額
CUSTCD(6桁) SALYM(6桁) SYOHIN(8桁) TANKA(6桁) SURYO(6桁) KINGAKU(6桁)
CUST01 200001 A0000001 1000 10 10000
CUST01 200001 B0000001 2000 10 20000
CUST02 200001 A0000001 3000 10 30000

(1)売上テーブルを削除するSQL

EXEC SQL
DELETE FROM SALTBL
WHERE CUSTCD = ‘CUST01’
AND SALYM = ‘200001’
AND SYOHIN = ‘A0000001’
END-EXEC.

(2)登録した結果を判定する

EVALUATE SQLCODE
WHEN ZERO
正常に削除できた場合の処理を行う
WHEN -100
削除する対象のデータが存在しない場合の処理を行う
WHEN OTHER
異常発生時の処理を行う
END-EVALUATE.

(1)の部分がSQLステートメントです。
①SQLを記述する場合、先頭に「EXEC SQL」最後に「END-EXEC」
と記述します。
②「DELETE FROM」は、テーブルに登録されているデータを削除する場合に記述します。
③「SALTBL」は、削除するデータが登録されているテーブル名(SALTBL)を記述します。
④「WHERE」は、削除するデータを特定するためのキーの記述です。

(2)はDELETEの結果を判定して、対応する処理を行います。
  結果の判定はSQLCODEという項目名の値を判定します。
  DBMSの種類によって、SQLCODEの値の意味が異なりますので注意が必要です。
①正常に削除できた場合、SQLCODEはZEROになりますので、正常に削除された場合の処理を行います。
②WHEREで記述したキーが存在しない場合、SQLCODEは-100になりますので、削除するデータが存在しない場合の処理を行います。
③上記以外いずれでもない場合は、異常状態ですからこれ以上処理を継続することはできません。
 一般的な処理は、異常状態を知らせる処理を行って終了します。