埋め込みの説明
@1@ : FROM,IMMEDIATE
例題
[SP8386.cob] 000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8386. 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 VAR-IND1 PIC S9(4) COMP-5. 000012 01 SQLSTMT PIC X(500). 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 EXECUTE IMMEDIATE STM1 USING :PRDCTNAM END-EXEC 000018 .
SP8386.cob 16: JMN2633I-S SQL文に誤りがあります.ODBC-8386E “FROM”の前後にSQL文変数が指定されていません.
SP8386.cob 17: JMN2633I-S SQL文に誤りがあります.ODBC-8386E “IMMEDIATE”の前後にSQL文変数が指定されていません.
詳細な説明
該当する行のSQL文に以下の誤りが考えられます.
PREPARE文のFROM指定に指定するSQL文変数がホスト変数ではない
EXECUTE IMMEDIATE文に指定するSQL文変数がホスト変数ではない