* DISCLAIMER: * This program was reviewed by employees of NIST for * conformance to the SQL standards. * NIST assumes no responsibility for any party's use of * this program.
* X/Open and the 'X' symbol are registered trademarks of X/Open Company * Limited in the UK and other countries.
**************************************************************** * * COMMENT SECTION * * DATE 1994/03/21 EMBEDDED C LANGUAGE * X/Open SQL VALIDATION TEST SUITE V6.0 * * XOP702.PCO * WRITTEN BY: Colin O'Driscoll * * ALTER TABLE ADD COLUMN * * REFERENCES * X/Open CAE SQL * Section 5.3.2 ALTER TABLE * * <embedded SQL C program> * * DATE PROGRAM LAST CHANGED 2/11/94 * ****************************************************************
EXECSQL COMMIT WORK END-EXEC MOVE SQLCODE TO SQL-COD *Added for re-test EXECSQL DROP TABLE COLUMN_TEST END-EXEC MOVE SQLCODE TO SQL-COD EXECSQL COMMIT WORK END-EXEC MOVE SQLCODE TO SQL-COD EXECSQL CREATE TABLE COLUMN_TEST (COL1 CHAR(4)) END-EXEC MOVE SQLCODE TO SQL-COD
EXECSQL COMMIT WORK END-EXEC MOVE SQLCODE TO SQL-COD
EXECSQLINSERTINTO COLUMN_TEST VALUES('BOOK') END-EXEC MOVE SQLCODE TO SQL-COD EXECSQLSELECT * INTO :col1 FROM COLUMN_TEST END-EXEC MOVE SQLCODE TO SQL-COD
if (col1 NOT = "BOOK") then DISPLAY"*** Problem found (TEST STEP NUMBER 1) ! *** " COMPUTE errflg = errflg + 1 END-IF DISPLAY"================================================="
EXECSQL COMMIT WORK END-EXEC MOVE SQLCODE TO SQL-COD EXECSQLALTER TABLE COLUMN_TEST ADD COL2 DECIMAL END-EXEC MOVE SQLCODE TO SQL-COD EXECSQL COMMIT WORK END-EXEC MOVE SQLCODE TO SQL-COD
EXECSQLINSERTINTO COLUMN_TEST VALUES('TEST',1) END-EXEC MOVE SQLCODE TO SQL-COD
EXECSQLSELECT * INTO :col1, :col2 FROM COLUMN_TEST
WHERE COL2 ISNOTNULLEND-EXEC MOVE SQLCODE TO SQL-COD
DISPLAY"col1 should be TEST, col2 should be 1" DISPLAY"col1 is ", col1 ", col2 is ", col2
if (col1 NOT = "TEST"OR col2 NOT = 1) then DISPLAY"*** Problem found (TEST STEP NUMBER 2) ! *** " COMPUTE errflg = errflg + 1 END-IF
EXECSQLDELETEFROM COLUMN_TEST END-EXEC MOVE SQLCODE TO SQL-COD MOVE" "TO col1 MOVE 0 TO col2 col3 col4 DISPLAY"================================================="
EXECSQL COMMIT WORK END-EXEC MOVE SQLCODE TO SQL-COD EXECSQLALTER TABLE COLUMN_TEST ADD(COL3 INTEGER, COL4 SMALLINT) END-EXEC MOVE SQLCODE TO SQL-COD EXECSQL COMMIT WORK END-EXEC MOVE SQLCODE TO SQL-COD
EXECSQLINSERTINTO COLUMN_TEST VALUES('TEST',1,2,3) END-EXEC MOVE SQLCODE TO SQL-COD
EXECSQLSELECT * INTO
:col1,
:col2,
:col3,
:col4 FROM COLUMN_TEST END-EXEC MOVE SQLCODE TO SQL-COD
DISPLAY"col1 should be TEST, col2 should be 1." DISPLAY"col3 should be 2, col4 should be 3." DISPLAY"col1 is ", col1 ", col2 is ", col2 "." DISPLAY"col3 is ", col3 ", col4 is ", col4
if (col1 NOT = "TEST"OR col2 NOT = 1 OR col3 NOT = 2 OR col4 NOT = 3) then DISPLAY"*** Problem found (TEST STEP NUMBER 3) ! *** " COMPUTE errflg = errflg + 1 END-IF DISPLAY"================================================="
EXECSQL COMMIT WORK END-EXEC MOVE SQLCODE TO SQL-COD EXECSQLALTER TABLE COLUMN_TEST ADD COL1 CHAR(4) END-EXEC MOVE SQLCODE TO SQL-COD DISPLAY"SQLSTATE should be 'S0021'" DISPLAY"SQLSTATE is " SQLSTATE if (SQLSTATE NOT = "S0021") then DISPLAY"*** Problem found (TEST STEP NUMBER 4) ! *** " COMPUTE errflg = errflg + 1 END-IF EXECSQL COMMIT WORK END-EXEC MOVE SQLCODE TO SQL-COD DISPLAY"================================================="
DISPLAY"number of errors detected = ", errflg " " DISPLAY"### maximum number of errors is 4 ###"
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 ist noch experimentell.