CyberChaos(さいばかおす)

プログラミング言語、トランスパイラ、RPA、ChatGPT、データマイニング、リバースエンジニアリングのための忘備録

COBOL埋め込みSQLの例をChatGPTに書かせた。

2024-05-11 12:48:55 | COBOL

IDENTIFICATION DIVISION.
PROGRAM-ID. SAMPLE.

ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 SQL-STATEMENT PIC X(100).
01 SQL-RESULT PIC S9(4) COMP.

PROCEDURE DIVISION.
MAIN-PROCEDURE.
    MOVE "SELECT * FROM EMPLOYEES WHERE DEPARTMENT = 'SALES'" TO SQL-STATEMENT.
    EXEC SQL
        PREPARE SQL-STATEMENT
        END-EXEC.
    EXEC SQL
        OPEN EMPLOYEE-CURSOR
        END-EXEC.
    EXEC SQL
        FETCH NEXT FROM EMPLOYEE-CURSOR INTO :EMPLOYEE-ID, :EMPLOYEE-NAME
        END-EXEC.
    PERFORM UNTIL SQL-RESULT = 100
        DISPLAY "EMPLOYEE ID: " EMPLOYEE-ID " EMPLOYEE NAME: " EMPLOYEE-NAME
        EXEC SQL
            FETCH NEXT FROM EMPLOYEE-CURSOR INTO :EMPLOYEE-ID, :EMPLOYEE-NAME
            END-EXEC.
    END-PERFORM.
    EXEC SQL
        CLOSE EMPLOYEE-CURSOR
        END-EXEC.
    STOP RUN.

このプログラムは、部署が "SALES" の従業員を表示する単純な例です。SQL文は文字列変数SQL-STATEMENTに格納され、EXEC SQLステートメントによって実行されます。このコードは、実際のデータベース接続や設定には関係なく、SQL文の埋め込み方法を示しています。

実際には、プログラム内で使用するデータベースにアクセスするためには、データベース接続情報などの追加の設定が必要です。また、プリプロセッサを使用してCOBOLプログラムを生成するための手順もありますが、この手順はCOBOLの特定のコンパイラに依存します。

とのこと。

https://amzn.asia/d/8BeCip1

COBOLエンジニアのためのOracle/SQLレッスン

という本のレビュー覧で「COBOL埋め込みSQL」という文言が出てきたので、気になっていた。

レビューではさんざんなことが書かれていたが、このレビューをきっかけにPython埋め込みVisualBasic.netとかいろいろ閃いた。

さらにこんな情報も・・・

https://itpfdoc.hitachi.co.jp/manuals/3020/30203D6240/USR20403.HTM

https://software.fujitsu.com/jp/manual/manualfiles/M080271/J2X02268/06Z201/aplsq03/aplsq062.html

https://software.fujitsu.com/jp/manual/manualfiles/m140016/j2ul1756/03z200/j2ul-1756-03z0.pdf

Googleで「cobol 埋め込みsql」と入力して検索すべし。


最新の画像もっと見る