例
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句が複数指定されている