1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| DENTIFICATION DIVISION.
PROGRAM-ID. TESTSQL.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. IBM-AS400.
OBJECT-COMPUTER. IBM-AS400.
SPECIAL-NAMES. SYSOUT IS SYS-LST.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 DSPSQLCODE PIC ------99.
77 STMT1 PIC X(100) VALUE
"DELETE FROM MYFILE WHERE MYFIELD < ""6126""".
77 STMT2 PIC X(100) VALUE
"DELETE FROM MYFILE2 WHERE MYFIELD2 = ""35""".
77 STMTSTRING PIC X(100).
EXEC SQL
INCLUDE SQLCA
END-EXEC.
PROCEDURE DIVISION.
000-PROGRAM-START.
EXEC SQL
WHENEVER SQLERROR GO TO 900-SQL-ERROR
END-EXEC.
MOVE STMT1 TO STMTSTRING.
PERFORM 100-EXEC-SQL.
MOVE STMT2 TO STMTSTRING.
PERFORM 100-EXEC-SQL.
GOBACK.
100-EXEC-SQL.
EXEC SQL
EXECUTE IMMEDIATE :STMTSTRING
END-EXEC.
900-SQL-ERROR.
MOVE SQLCODE TO DSPSQLCODE.
DISPLAY "SQL ERROR - ERROR:" DSPSQLCODE " STATE:"
SQLSTATE UPON SYS-LST.
GOBACK. |