例題
[SP8601.cob] 000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. SP8601. 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 STM1 USING :PRDCTNUM USING :PRDCTNAM END-EXEC 000018* 000019 EXEC SQL 000020 DECLARE C1 CURSOR FOR 000021 SELECT PNO FROM STOCK WHERE :PRDCTNAM = 'TIRE' 000022 END-EXEC 000023 EXEC SQL OPEN C1 END-EXEC. 000024 EXEC SQL FETCH C1 INTO :PRDCTNUM INTO :PRDCTNAM END-EXEC. 000025 .
SP8601.cob 17: JMN2633I-S SQL文に誤りがあります.ODBC-8601E キーワードUSING又はキーワードINTOが複数記述されています.
SP8601.cob 24: JMN2633I-S SQL文に誤りがあります.ODBC-8601E キーワードUSING又はキーワードINTOが複数記述されています.
詳細な説明
該当する行のSQL文に以下の誤りが考えられます.
EXECUTE文のUSING指定が複数指定されている
FETCH文のINTO句が複数指定されている