tinycobol/test.code/esql/esql.trans.ecob

64 lines
1.5 KiB
Plaintext

IDENTIFICATION DIVISION.
PROGRAM-ID. ESQL.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
* INPUT-OUTPUT SECTION.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
EXEC SQL
INCLUDE SQLCA
END-EXEC
77 COUNTER PIC 99.
01 WHERE-ERROR PIC X(72).
01 gds__trans REDEFINES ISC_TRANS PIC S9(9) USAGE COMP.
EXEC SQL BEGIN DECLARE SECTION END-EXEC
01 TRANS PIC S9(9) USAGE COMP VALUE 0.
01 FIRSTNAME BASED ON FRIEND.FIRSTNAME.
01 LASTNAME BASED ON FRIEND.LASTNAME.
01 CITY BASED ON FRIEND.CITY.
01 STATE BASED ON FRIEND.STATE.
01 AGE BASED ON FRIEND.AGE.
EXEC SQL END DECLARE SECTION END-EXEC
PROCEDURE DIVISION.
MAIN.
DISPLAY " ".
DISPLAY " ".
DISPLAY " DEMO ESQL PROGRAM ".
EXEC SQL
CONNECT TO 'demo.gdb'
END-EXEC
DISPLAY "DATABASE OPEN RETURNS CODE: " SQLCODE.
EXEC SQL
SET TRANSACTION NAME TRANS
END-EXEC
PERFORM INSERT VARYING COUNTER FROM 1
BY 1 UNTIL COUNTER >20.
EXEC SQL
COMMIT TRANSACTION TRANS
END-EXEC
DISPLAY "COMMIT TRANSACTION RETURNS CODE: " SQLCODE.
EXEC SQL
DISCONNECT ALL
END-EXEC.
DISPLAY "DATABASE CLOSE RETURNS CODE: " SQLCODE.
STOP RUN.
INSERT.
STRING "MyFirstName", COUNTER INTO FIRSTNAME.
STRING "MyLastName", COUNTER INTO LASTNAME.
STRING "MyTrans", COUNTER INTO CITY.
MOVE COUNTER TO AGE.
EXEC SQL
INSERT TRANSACTION TRANS INTO FRIEND VALUES(
:FIRSTNAME,
:LASTNAME,
:CITY,
:STATE,
:AGE)
END-EXEC.
DISPLAY "INSERT INTO TABLE RETURNS CODE: " SQLCODE.