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

COBOLのUPDATE文でデータを更新する方法!初心者向けサンプル例

UPDATE文でデータを更新するサンプル例
UPDATE文でデータを更新するサンプル例

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

生徒

「先生、COBOLでデータベースにあるデータを変更したい場合はどうすればいいですか?」

先生

「その場合はUPDATE文を使います。UPDATE文は、既存のデータを新しい値に変更するSQL文です。」

生徒

「どのように書くのか、具体的な例を教えてください。」

先生

「それでは、基本的なサンプルを見ていきましょう!」

1. UPDATE文とは?

1. UPDATE文とは?
1. UPDATE文とは?

UPDATE文は、データベースの既存の行の値を変更するために使います。テーブル内の特定の行を条件で指定し、新しい値を設定します。例えば社員テーブルの部署名を変更したり、住所情報を更新したりする場合に使用します。SQLでは、条件を指定するWHERE句が重要で、指定しないとテーブル全体のデータが変更されるので注意が必要です。

2. COBOLでのUPDATE文の基本構文

2. COBOLでのUPDATE文の基本構文
2. COBOLでのUPDATE文の基本構文

COBOLでUPDATE文を使うときは、EXEC SQLEND-EXECでSQL文を囲みます。値はホスト変数を使用することで、プログラム内の変数から安全に値を渡せます。


WORKING-STORAGE SECTION.
01  EMP-ID    PIC 9(4) VALUE 1004.
01  NEW-DEPT  PIC X(10) VALUE "営業部".

PROCEDURE DIVISION.
    EXEC SQL
        UPDATE EMPLOYEE
        SET DEPARTMENT = :NEW-DEPT
        WHERE EMPLOYEE_ID = :EMP-ID
    END-EXEC.

この例では、社員IDが1004の社員の部署を「営業部」に変更しています。

3. ホスト変数を使うメリット

3. ホスト変数を使うメリット
3. ホスト変数を使うメリット

ホスト変数を使うことで、SQL文に直接値を埋め込むより安全にデータを更新できます。プログラム内の変数に値を設定するだけで簡単にSQLに渡せます。また、変数の値を変えるだけで複数の行を条件に応じて更新することも可能です。これにより、セキュリティリスクや手作業でのミスを減らせます。

4. UPDATE文の注意点

4. UPDATE文の注意点
4. UPDATE文の注意点
  • 条件を指定しないUPDATEはテーブル全体を変更するため危険。
  • ホスト変数の型をテーブルの列と一致させる必要がある。
  • 更新対象の行が存在しない場合、変更は行われない。
  • SQLCODEを確認して、更新が成功したかどうかをチェックする。

5. 実践例:社員部署の更新

5. 実践例:社員部署の更新
5. 実践例:社員部署の更新

WORKING-STORAGE SECTION.
01  EMP-ID    PIC 9(4) VALUE 1005.
01  NEW-DEPT  PIC X(10) VALUE "開発部".

PROCEDURE DIVISION.
    EXEC SQL
        UPDATE EMPLOYEE
        SET DEPARTMENT = :NEW-DEPT
        WHERE EMPLOYEE_ID = :EMP-ID
    END-EXEC.

    IF SQLCODE = 0
        DISPLAY "更新成功:" EMP-ID " の部署を " NEW-DEPT
    ELSE
        DISPLAY "更新失敗:" SQLCODE
    END-IF.

更新成功:1005 の部署を 開発部

この例では、社員IDが1005の社員の部署を開発部に変更し、SQLCODEで更新結果を確認しています。COBOLでUPDATE文を使うと、既存のデータを簡単かつ安全に更新できることがわかります。

6. 初心者向けポイント

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

UPDATE文を使うときは、必ず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演算子の違いと使い方