**************************************************************** * * COMMENT SECTION * * DATE 1992/06/08 EMBEDDED 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. * * DML080.PCO * WRITTEN BY: DAVID W. FLATER * * THIS ROUTINE TESTS THE DATA MANIPULATION LANGUAGE FOR SQL. * * REFERENCES * AMERICAN NATIONAL STANDARD database language - SQL * X3.135-1989 * * SECTION 7.3 Procedure * ****************************************************************
*WHERE clause not satisfied - no data MOVE 0 TOSQLCODE DISPLAY"DELETE FROM HU.STAFF WHERE EMPNUM = 'E7';" EXECSQLDELETEFROM HU.STAFF WHERE EMPNUM = 'E7'END-EXEC MOVESQLCODETO SQL-COD DISPLAY"SQLCODE should be 100; its value is ", SQL-COD if (SQLCODENOT = 100) then MOVE 0 TO flag END-IF
*DELETE all rows from empty table - no data (on second DELETE) DISPLAY" " DISPLAY"DELETE FROM HU.STAFF;" EXECSQLDELETEFROM HU.STAFF END-EXEC MOVESQLCODETO SQL-COD DISPLAY"SQLCODE should be 0; its value is ", SQL-COD if (SQLCODENOT = 0) then MOVE 0 TO flag END-IF DISPLAY" " DISPLAY"DELETE FROM HU.STAFF;" EXECSQLDELETEFROM HU.STAFF END-EXEC MOVESQLCODETO SQL-COD DISPLAY"SQLCODE should be 100; its value is ", SQL-COD if (SQLCODENOT = 100) then MOVE 0 TO flag END-IF
*DELETE one row from empty table with WHERE clause - no data DISPLAY" " MOVE 0 TOSQLCODE DISPLAY"DELETE FROM HU.STAFF WHERE EMPNUM = 'E1';" EXECSQLDELETEFROM HU.STAFF WHERE EMPNUM = 'E1'END-EXEC MOVESQLCODETO SQL-COD DISPLAY"SQLCODE should be 100; its value is ", SQL-COD if (SQLCODENOT = 100) then MOVE 0 TO flag END-IF
EXECSQLROLLBACK WORK END-EXEC MOVESQLCODETO SQL-COD
*WHERE clause not satisfied - no data MOVE 0 TOSQLCODE DISPLAY"UPDATE HU.STAFF SET CITY = 'NOWHERE'" DISPLAY" WHERE EMPNAME = 'NOBODY';" EXECSQL UPDATE HU.STAFF SET CITY = 'NOWHERE' WHERE EMPNAME = 'NOBODY'END-EXEC MOVESQLCODETO SQL-COD DISPLAY"SQLCODE should be 100; its value is ", SQL-COD if (SQLCODENOT = 100) then MOVE 0 TO flag END-IF
*global update of grade column - successful completion DISPLAY" " MOVE 100 TOSQLCODE DISPLAY"UPDATE HU.STAFF SET GRADE = 11;" EXECSQL UPDATE HU.STAFF SET GRADE = 11 END-EXEC MOVESQLCODETO SQL-COD DISPLAY"SQLCODE should be 0; its value is ", SQL-COD if (SQLCODENOT = 0) then MOVE 0 TO flag END-IF
*UPDATE all rows from empty table - no data (after DELETE) DISPLAY" " MOVE 100 TOSQLCODE DISPLAY"DELETE FROM HU.STAFF;" EXECSQLDELETEFROM HU.STAFF END-EXEC MOVESQLCODETO SQL-COD DISPLAY"SQLCODE should be 0; its value is ", SQL-COD if (SQLCODENOT = 0) then MOVE 0 TO flag END-IF DISPLAY" " DISPLAY"UPDATE HU.STAFF SET CITY = 'NOWHERE';" EXECSQL UPDATE HU.STAFF SET CITY = 'NOWHERE'END-EXEC MOVESQLCODETO SQL-COD DISPLAY"SQLCODE should be 100; its value is ", SQL-COD if (SQLCODENOT = 100) then MOVE 0 TO flag END-IF
*UPDATE rows with WHERE clause from empty table - no data DISPLAY" " MOVE 0 TOSQLCODE DISPLAY"UPDATE HU.STAFF SET CITY = 'NOWHERE'" DISPLAY" WHERE EMPNAME = 'NOBODY';" EXECSQL UPDATE HU.STAFF SET CITY = 'NOWHERE' WHERE EMPNAME = 'NOBODY'END-EXEC MOVESQLCODETO SQL-COD DISPLAY"SQLCODE should be 100; its value is ", SQL-COD if (SQLCODENOT = 100) then MOVE 0 TO flag END-IF
EXECSQLROLLBACK WORK END-EXEC MOVESQLCODETO SQL-COD
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.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.