カテゴリ: COBOL 更新日: 2025/11/23

COBOLでDELETE文を使ったデータ削除の基本!初心者向け解説

DELETE文でデータを削除する流れを理解しよう
DELETE文でデータを削除する流れを理解しよう

先生と生徒の会話形式で理解しよう

生徒

「先生、COBOLでデータベースから不要なデータを削除したいときはどうしたらいいですか?」

先生

「その場合はDELETE文を使います。DELETE文は、指定した条件に合うデータを削除するSQL文です。」

生徒

「削除するときに気を付けることはありますか?」

先生

「はい、条件を指定せずにDELETEするとテーブル全体のデータが消えてしまうので、必ずWHERE句を使って対象を絞ることが重要です。」

1. DELETE文とは?

1. DELETE文とは?
1. DELETE文とは?

DELETE文は、データベースのテーブルから特定の行を削除するために使用します。テーブル内の行を指定する条件がない場合、全ての行が削除されるため非常に注意が必要です。例えば社員テーブルから退職した社員のデータだけを削除したい場合に使います。WHERE句で条件を指定し、削除対象を明確にすることがポイントです。

2. COBOLでDELETE文を使う基本構文

2. COBOLでDELETE文を使う基本構文
2. COBOLでDELETE文を使う基本構文

COBOLでは、DELETE文をEXEC SQLEND-EXECで囲みます。削除対象の条件はホスト変数を使うことで、安全に値を渡すことができます。


WORKING-STORAGE SECTION.
01  EMP-ID    PIC 9(4) VALUE 1004.

PROCEDURE DIVISION.
    EXEC SQL
        DELETE FROM EMPLOYEE
        WHERE EMPLOYEE_ID = :EMP-ID
    END-EXEC.

この例では、社員IDが1004の社員のデータを削除しています。

3. ホスト変数を使う理由

3. ホスト変数を使う理由
3. ホスト変数を使う理由

ホスト変数を使うことで、プログラム内の変数から値を安全にSQL文に渡せます。直接値をSQL文に書くよりも、可読性や保守性が向上し、セキュリティ上も安全です。また、複数の削除条件を動的に変更したい場合にも便利です。

4. DELETE文を使うときの注意点

4. DELETE文を使うときの注意点
4. DELETE文を使うときの注意点
  • 条件を指定しないDELETEはテーブル全体を削除する危険がある。
  • ホスト変数の型をテーブルの列と一致させる。
  • 削除対象の行が存在しない場合、削除は行われない。
  • 削除後はSQLCODEを確認し、正常に削除できたかをチェックする。

5. 実践例:退職社員のデータ削除

5. 実践例:退職社員のデータ削除
5. 実践例:退職社員のデータ削除

WORKING-STORAGE SECTION.
01  EMP-ID    PIC 9(4) VALUE 1010.

PROCEDURE DIVISION.
    EXEC SQL
        DELETE FROM EMPLOYEE
        WHERE EMPLOYEE_ID = :EMP-ID
    END-EXEC.

    IF SQLCODE = 0
        DISPLAY "削除成功:" EMP-ID " の社員データを削除しました。"
    ELSE
        DISPLAY "削除失敗:" SQLCODE
    END-IF.

削除成功:1010 の社員データを削除しました。

この例では、社員IDが1010のデータを削除し、SQLCODEを確認して削除結果を表示しています。COBOLのDELETE文を使うことで、必要なデータだけを安全に削除できることがわかります。

6. 初心者向けポイント

6. 初心者向けポイント
6. 初心者向けポイント

DELETE文を使うときは、必ずWHERE句で削除対象を絞ること、ホスト変数を使用して安全に値を渡すこと、そしてSQLCODEで削除結果を確認することが大切です。小規模なテーブルで練習し、削除処理の流れを理解してから本番環境で使用することをおすすめします。

カテゴリの一覧へ
新着記事
New1
C#
C#のメモリ管理とガーベジコレクションの基礎を理解しよう
New2
C#
C#の参照型と値型の違いを初心者向けにやさしく解説!
New3
C#
C#のクエリ式とメソッド式の書き換え方を完全ガイド!LINQの2つの書き方をマスター
New4
C#
C#の戻り値にタプルを使う方法!複数の値を返すテクニック
人気記事
No.1
Java&Spring記事人気No1
C#
C#で文字列が数値か判定する方法を解説!char.IsDigitやTryParseの基本
No.2
Java&Spring記事人気No2
C#
C#のLINQでOrderByを使った並び替えを完全ガイド!初心者でもわかるソート方法
No.3
Java&Spring記事人気No3
C#
C#のpartialクラスとは?初心者でも理解できるクラス分割の基本
No.4
Java&Spring記事人気No4
C#
C#のrefとoutキーワードとは?引数の参照渡しを理解しよう
No.5
Java&Spring記事人気No5
COBOL
COBOLの数値データ型「PIC 9」の使い方と注意点をやさしく解説!
No.6
Java&Spring記事人気No6
C#
C#の引数と戻り値の基本!値を受け渡し・返す仕組みを理解しよう
No.7
Java&Spring記事人気No7
C#
C#のラムダ式の書き方と構文を初心者向けに完全解説
No.8
Java&Spring記事人気No8
C#
C#で型を調べる方法!GetType()・typeof演算子の違いと使い方