埋め込みの説明
@1@ : SQL文識別子
例題
[SP8409.cob] 000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8409. 000003 DATA DIVISION. 000004 WORKING-STORAGE SECTION. 000005 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 000006 01 STOCK-TABLE. 000007 02 PRDCTNUM PIC S9(4) COMP-5. 000008 02 PRDCTNAM PIC N(10). 000009 01 SQLSTATE PIC X(5). 000010 01 SQLMSG PIC X(128). 000011 01 SQLSTMT PIC X(128). 000012 01 VAR-IND1 PIC S9(4) COMP-5. 000013 EXEC SQL END DECLARE SECTION END-EXEC. 000014 PROCEDURE DIVISION. 000015 MOVE "SELECT PNO FROM STOCK WHERE PNAME = ?" TO SQLSTMT 000016 EXEC SQL PREPARE STM1 FROM :SQLSTMT END-EXEC 000017 EXEC SQL DECLARE C1 CURSOR FOR STM1 FROM END-EXEC 000018 .
SP8409.cob 17: JMN2633I-S SQL文に誤りがあります.ODBC-8409E SQL文識別子“STM1”の後に誤った指定があります.
詳細な説明
該当する行のSQL文に以下の誤りが考えられます.
動的カーソル宣言のSQL文識別子直後に無効な語がある
EXECUTE文のSQL文識別子直後に無効な語がある