IDENTIFICATION DIVISION .
PROGRAM-ID . SUNTAB3.
ENVIRONMENT DIVISION .
CONFIGURATION SECTION .
SOURCE-COMPUTER . xyz.
OBJECT-COMPUTER . xyz.
DATA DIVISION .
WORKING-STORAGE SECTION .
* Standard COBOL (file "SUNTAB3.SCO") calling SQL
* procedures in file "SUNTAB3.MCO"
****************************************************************
*
* COMMENT SECTION
*
* DATE 1989/02/24 STANDARD COBOL LANGUAGE
* NIST SQL VALIDATION TEST SUITE V6.0
* DISCLAIMER:
* This program was written by employees of NIST to test SQL
* implementations for conformance to the SQL standards.
* NIST assumes no responsibility for any party's use of
* this program.
*
* SUNTAB3.SCO
* WRITTEN BY: SUN DAJUN
* TRANSLATED AUTOMATICALLY FROM EMBEDDED COBOL BY CHRIS SCHANZLE
*
* This routine initializes the contents of tables:
* EMP, DEPT, EXPERIENCE, STAFF_P, PROJ_P and ACR_SCH_P
* This routine may be run at any time to re-initialize tables.
*
****************************************************************
* EXEC SQL BEGIN DECLARE SECTION END-EXEC
01 SQLCODE PIC S9(9) COMP .
01 errcnt PIC S9(4) DISPLAY SIGN LEADING SEPARATE .
01 count1 PIC S9(9) DISPLAY SIGN LEADING SEPARATE .
01 count2 PIC S9(9) DISPLAY SIGN LEADING SEPARATE .
01 count3 PIC S9(9) DISPLAY SIGN LEADING SEPARATE .
01 count4 PIC S9(9) DISPLAY SIGN LEADING SEPARATE .
01 count5 PIC S9(9) DISPLAY SIGN LEADING SEPARATE .
01 count6 PIC S9(9) DISPLAY SIGN LEADING SEPARATE .
* EXEC SQL END DECLARE SECTION END-EXEC
01 uid PIC X(18).
01 uidx PIC X(18).
01 SQL-COD PIC S9(9) DISPLAY SIGN LEADING SEPARATE .
* date_time declaration *
01 TO-DAY PIC 9(6).
01 THE-TIME PIC 9(8).
PROCEDURE DIVISION .
P0.
MOVE "SUN" TO uid
CALL "AUTHID" USING uid
MOVE 0 TO errcnt
DISPLAY
"SQL Test Suite, V6.0, Module COBOL, suntab3.sco"
DISPLAY " "
DISPLAY
"59-byte ID"
DISPLAY "TEd Version #"
DISPLAY " "
* date_time print *
ACCEPT TO-DAY FROM DATE
ACCEPT THE-TIME FROM TIME
DISPLAY "Date run YYMMDD: " TO-DAY " at hhmmssff: " THE-TIME
* EXEC SQL DELETE FROM EXPERIENCE;
CALL "SUBC" USING SQLCODE
CALL "SUBD" USING SQLCODE
CALL "SUB1" USING SQLCODE
MOVE SQLCODE TO SQL-COD
* EXEC SQL DELETE FROM EMP;
CALL "SUB2" USING SQLCODE
MOVE SQLCODE TO SQL-COD
* EXEC SQL DELETE FROM DEPT;
CALL "SUB3" USING SQLCODE
MOVE SQLCODE TO SQL-COD
* EXEC SQL DELETE FROM STAFF_P;
CALL "SUB4" USING SQLCODE
MOVE SQLCODE TO SQL-COD
* EXEC SQL DELETE FROM PROJ_P;
CALL "SUB5" USING SQLCODE
MOVE SQLCODE TO SQL-COD
* EXEC SQL DELETE FROM ACR_SCH_P;
CALL "SUB6" USING SQLCODE
MOVE SQLCODE TO SQL-COD
* EXEC SQL INSERT INTO DEPT VALUES (12,'Computer','Charles')
* END-EXEC
CALL "SUB7" USING SQLCODE
MOVE SQLCODE TO SQL-COD
* EXEC SQL INSERT INTO DEPT VALUES (13,'Physics','Richard')
* END-EXEC
CALL "SUB8" USING SQLCODE
MOVE SQLCODE TO SQL-COD
* EXEC SQL INSERT INTO DEPT VALUES
* (14,'Education','Jeffersion') END-EXEC
CALL "SUB9" USING SQLCODE
MOVE SQLCODE TO SQL-COD
* EXEC SQL INSERT INTO DEPT VALUES (15,'English','Liss')
* END-EXEC
CALL "SUB10" USING SQLCODE
MOVE SQLCODE TO SQL-COD
* EXEC SQL INSERT INTO EMP VALUES (21,'Tom',
* 'Languages & Operating System',12,'Computer',040523)
* END-EXEC
CALL "SUB11" USING SQLCODE
MOVE SQLCODE TO SQL-COD
* EXEC SQL INSERT INTO EMP VALUES (22,'David',
* 'Database',12,'Computer',101024) END-EXEC
CALL "SUB12" USING SQLCODE
MOVE SQLCODE TO SQL-COD
* EXEC SQL INSERT INTO EMP VALUES (23,'Lilian',
* 'Software Enginerring',12,'Computer',112156) END-EXEC
CALL "SUB13" USING SQLCODE
MOVE SQLCODE TO SQL-COD
* EXEC SQL INSERT INTO EMP VALUES (24,'Mary',
* 'Liquid Mechanics',13,'Physics',121245) END-EXEC
CALL "SUB14" USING SQLCODE
MOVE SQLCODE TO SQL-COD
* EXEC SQL INSERT INTO EMP VALUES (25,'John',
* 'Fraction',13,'Physics',030542) END-EXEC
CALL "SUB15" USING SQLCODE
MOVE SQLCODE TO SQL-COD
* EXEC SQL INSERT INTO EMP VALUES (26,'Joseph',
* 'Child Education',14,'Education',020556) END-EXEC
CALL "SUB16" USING SQLCODE
MOVE SQLCODE TO SQL-COD
* EXEC SQL INSERT INTO EMP VALUES (27,'Peter',
* 'Literature',15,'English',020434) END-EXEC
CALL "SUB17" USING SQLCODE
MOVE SQLCODE TO SQL-COD
* EXEC SQL INSERT INTO EXPERIENCE VALUES
* ('Tom',040523,000046,'Teacher') END-EXEC
CALL "SUB18" USING SQLCODE
MOVE SQLCODE TO SQL-COD
* EXEC SQL INSERT INTO EXPERIENCE VALUES
* ('Tom',040523,000066,'Officer') END-EXEC
CALL "SUB19" USING SQLCODE
MOVE SQLCODE TO SQL-COD
* EXEC SQL INSERT INTO EXPERIENCE VALUES
* ('Tom',040523,000076,'Retire') END-EXEC
CALL "SUB20" USING SQLCODE
MOVE SQLCODE TO SQL-COD
* EXEC SQL INSERT INTO EXPERIENCE VALUES
* ('David',101024,000048,'Farmer') END-EXEC
CALL "SUB21" USING SQLCODE
MOVE SQLCODE TO SQL-COD
* EXEC SQL INSERT INTO EXPERIENCE VALUES
* ('David',101024,000066,'Porter') END-EXEC
CALL "SUB22" USING SQLCODE
MOVE SQLCODE TO SQL-COD
* EXEC SQL INSERT INTO EXPERIENCE VALUES
* ('Lilian',112156,000072,'Baby siter') END-EXEC
CALL "SUB23" USING SQLCODE
MOVE SQLCODE TO SQL-COD
* EXEC SQL INSERT INTO EXPERIENCE VALUES
* ('Lilian',112156,000082,'Nurse') END-EXEC
CALL "SUB24" USING SQLCODE
MOVE SQLCODE TO SQL-COD
* EXEC SQL INSERT INTO EXPERIENCE VALUES
* ('Mary',121245,000065,'Fashion Model') END-EXEC
CALL "SUB25" USING SQLCODE
MOVE SQLCODE TO SQL-COD
* EXEC SQL INSERT INTO EXPERIENCE VALUES
* ('John',030542,000064,'Actor') END-EXEC
CALL "SUB26" USING SQLCODE
MOVE SQLCODE TO SQL-COD
* EXEC SQL INSERT INTO EXPERIENCE VALUES
* ('Joseph',020556,000072,'Sportsman') END-EXEC
CALL "SUB27" USING SQLCODE
MOVE SQLCODE TO SQL-COD
* EXEC SQL INSERT INTO EXPERIENCE VALUES
* ('Joseph',020556,000072,'Teacher') END-EXEC
CALL "SUB28" USING SQLCODE
MOVE SQLCODE TO SQL-COD
* EXEC SQL INSERT INTO EXPERIENCE VALUES
* ('Peter',020434,000071,'Photographer') END-EXEC
CALL "SUB29" USING SQLCODE
MOVE SQLCODE TO SQL-COD
* EXEC SQL INSERT INTO EXPERIENCE VALUES
* ('Peter',020434,000081,'Movie Producer') END-EXEC
CALL "SUB30" USING SQLCODE
MOVE SQLCODE TO SQL-COD
* EXEC SQL COMMIT WORK;
CALL "SUB31" USING SQLCODE
MOVE SQLCODE TO SQL-COD
* EXEC SQL INSERT INTO STAFF_P VALUES
* ('E1','Alice',12,'Deale') END-EXEC
CALL "SUB32" USING SQLCODE
MOVE SQLCODE TO SQL-COD
* EXEC SQL INSERT INTO STAFF_P VALUES
* ('E2','Betty',10,'Vienna') END-EXEC
CALL "SUB33" USING SQLCODE
MOVE SQLCODE TO SQL-COD
* EXEC SQL INSERT INTO STAFF_P VALUES
* ('E3','Carmen',13,'Vienna') END-EXEC
CALL "SUB34" USING SQLCODE
MOVE SQLCODE TO SQL-COD
* EXEC SQL INSERT INTO STAFF_P VALUES ('E4','Don',12,'Deale')
* END-EXEC
CALL "SUB35" USING SQLCODE
MOVE SQLCODE TO SQL-COD
* EXEC SQL INSERT INTO STAFF_P VALUES ('E5','Ed',13,'Akron')
* END-EXEC
CALL "SUB36" USING SQLCODE
MOVE SQLCODE TO SQL-COD
* EXEC SQL INSERT INTO PROJ_P VALUES
* ('P1','MXSS','Design',10000,'Deale') END-EXEC
CALL "SUB37" USING SQLCODE
MOVE SQLCODE TO SQL-COD
* EXEC SQL INSERT INTO PROJ_P VALUES
* ('P2','CALM','Code',30000,'Vienna') END-EXEC
CALL "SUB38" USING SQLCODE
MOVE SQLCODE TO SQL-COD
* EXEC SQL INSERT INTO PROJ_P VALUES
* ('P3','SDP','Test',30000,'Tampa') END-EXEC
CALL "SUB39" USING SQLCODE
MOVE SQLCODE TO SQL-COD
* EXEC SQL INSERT INTO PROJ_P VALUES
* ('P4','SDP','Design',20000,'Deale') END-EXEC
CALL "SUB40" USING SQLCODE
MOVE SQLCODE TO SQL-COD
* EXEC SQL INSERT INTO PROJ_P VALUES
* ('P5','IRM','Test',10000,'Vienna') END-EXEC
CALL "SUB41" USING SQLCODE
MOVE SQLCODE TO SQL-COD
* EXEC SQL INSERT INTO PROJ_P VALUES
* ('P6','PAYR','Design',50000,'Deale') END-EXEC
CALL "SUB42" USING SQLCODE
MOVE SQLCODE TO SQL-COD
* EXEC SQL INSERT INTO ACR_SCH_P VALUES(1,'AAA');
CALL "SUB43" USING SQLCODE
MOVE SQLCODE TO SQL-COD
* EXEC SQL SELECT COUNT(*) INTO :count1 FROM DEPT;
CALL "SUB44" USING SQLCODE count1
MOVE SQLCODE TO SQL-COD
* EXEC SQL SELECT COUNT(*) INTO :count2 FROM EMP;
CALL "SUB45" USING SQLCODE count2
MOVE SQLCODE TO SQL-COD
* EXEC SQL SELECT COUNT(*) INTO :count3 FROM EXPERIENCE
* END-EXEC
CALL "SUB46" USING SQLCODE count3
MOVE SQLCODE TO SQL-COD
* EXEC SQL SELECT COUNT(*) INTO :count4 FROM STAFF_P;
CALL "SUB47" USING SQLCODE count4
MOVE SQLCODE TO SQL-COD
* EXEC SQL SELECT COUNT(*) INTO :count5 FROM PROJ_P;
CALL "SUB48" USING SQLCODE count5
MOVE SQLCODE TO SQL-COD
* EXEC SQL SELECT COUNT(*) INTO :count6 FROM ACR_SCH_P
* END-EXEC
CALL "SUB49" USING SQLCODE count6
MOVE SQLCODE TO SQL-COD
* EXEC SQL COMMIT WORK;
CALL "SUB50" USING SQLCODE
MOVE SQLCODE TO SQL-COD
if (count4 = 5 AND count5 = 6 AND count6 = 1)
then
MOVE 100 TO count4
END-IF
if (count1 = 4 AND count2 = 7 AND count3 = 13
AND count4 = 100) then
DISPLAY "STAFF_P, PROJ_P, DEPT, EMP, EXPRIENCE and
- " ACR_SCH_P"
DISPLAY " were created successfully!"
else
DISPLAY "********************************************"
DISPLAY "* STAFF_P, PROJ_P, DEPT, EMP, EXPERIENCE *"
DISPLAY "* or ACR_SCH_P ERROR !!! *"
DISPLAY "********************************************"
END-IF
**** TESTER MAY CHOOSE TO INSERT CODE FOR errcnt > 0
STOP RUN .
* **** Procedures for PERFORM statements
quality 100%
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.14Bemerkung:
(vorverarbeitet)
¤
*Bot Zugriff