text: --
  --   Licensed to the Apache Software Foundation (ASF) under one or more
  --   contributor license agreements.  See the NOTICE file distributed with
  --   this work for additional information regarding copyright ownership.
  --   The ASF licenses this file to You under the Apache License, Version 2.0
  --   (the "License"); you may not use this file except in compliance with
  --   the License.  You may obtain a copy of the License at
  --
  --      http://www.apache.org/licenses/LICENSE-2.0
  --
  --   Unless required by applicable law or agreed to in writing, software
  --   distributed under the License is distributed on an "AS IS" BASIS,
  --   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  --   See the License for the specific language governing permissions and
  --   limitations under the License.
  --
  AUTOCOMMIT OFF;
  
  -- MODULE CDR030  
  
  -- SQL Test Suite, V6.0, Interactive SQL, cdr030.sql
  -- 59-byte ID
  -- TEd Version #
  
  -- AUTHORIZATION SUN
     set schema SUN;
  
  --O   SELECT USER FROM HU.ECCO;
    VALUES USER;
  -- RERUN if USER value does not match preceding AUTHORIZATION comment
  
  -- date_time print
  
  -- NOTE Direct support for SQLCODE or SQLSTATE is not required
  -- NOTE    in Interactive Direct SQL, as defined in FIPS 127-2.
  -- NOTE   ********************* instead ***************************
  -- NOTE If a statement raises an exception condition,
  -- NOTE    then the system shall display a message indicating that
  -- NOTE    the statement failed, giving a textual description
  -- NOTE    of the failure.
  -- NOTE If a statement raises a completion condition that is a
  -- NOTE    "warning" or "no data", then the system shall display
  -- NOTE    a message indicating that the statement completed,
  -- NOTE    giving a textual description of the "warning" or "no data."
  
  -- TEST:0516 SQLSTATE 23502: integrity constraint violation!
  
  --O   INSERT INTO EMP 
  --O         VALUES (41,'Tom','China Architecture',
  --O                 20,'Architecture',040553);
  -- PASS:0516 If ERROR, integrity constraint violation, 0 rows inserted?
  -- PASS:0516 OR RI ERROR, parent missing, 0 rows inserted?
  -- PASS:0516 OR SQLSTATE = 23502 OR SQLCODE < 0?
  
  --O   DELETE FROM EMP
  --O         WHERE ENO = 21;
  -- PASS:0516 If ERROR, integrity constraint violation, 0 rows deleted?
  -- PASS:0516 OR RI ERROR, children exist, 0 rows deleted?
  -- PASS:0516 OR SQLSTATE = 23502 OR SQLCODE < 0?
  
  --O   UPDATE EMP
  --O         SET ENAME = 'Thomas'
  --O         WHERE ENO = 21;
  -- PASS:0516 If ERROR, integrity constraint violation, 0 rows updated?
  -- PASS:0516 OR RI ERROR, chldren exist, 0 rows updated?
  -- PASS:0516 OR SQLSTATE = 23502 OR SQLCODE < 0?
  
  -- setup 
     DELETE FROM STAFF7;
  
  -- PRIMARY KEY (EMPNUM)
     INSERT INTO STAFF7 (EMPNUM) 
           VALUES ('XXX');
  -- PASS:0516 If 1 row inserted?
  
     INSERT INTO STAFF7 (EMPNUM) 
           VALUES ('XXX');
  -- PASS:0516 If ERROR, integrity constraint violation, 0 rows inserted?
  -- PASS:0516 OR ERROR, unique constraint, 0 rows inserted?
  -- PASS:0516 OR SQLSTATE = 23502 OR SQLCODE < 0?
  
  -- setup
     DELETE FROM PROJ3;
  
  -- UNIQUE (PNUM)
     INSERT INTO PROJ3 (PNUM) VALUES ('787');
  
     INSERT INTO PROJ3 (PNUM) VALUES ('789');
  -- PASS:0516 If 1 row inserted?
  
     UPDATE PROJ3          SET PNUM = '787' 
                         WHERE PNUM = '789';
  -- PASS:0516 If ERROR, integrity constraint violation, 0 rows updated?
  -- PASS:0516 OR ERROR, unique constraint, 0 rows updated?
  -- PASS:0516 OR SQLSTATE = 23502 OR SQLCODE < 0?
  
  -- setup
     DELETE FROM STAFF11;
  
     INSERT INTO STAFF11
           VALUES('E3','Susan',11,'Hawaii');
  -- PASS:0516 If 1 row inserted?
  
  -- (CHECK GRADE NOT IN (5,22))
     UPDATE STAFF11
           SET GRADE = 5
           WHERE EMPNUM = 'E3';
  -- PASS:0516 If ERROR, integrity constraint violation, 0 rows updated?
  -- PASS:0516 OR ERROR, check constraint, 0 rows updated?
  -- PASS:0516 OR SQLSTATE = 23502 OR SQLCODE < 0?
  
  -- (CHECK NOT EMPNAME LIKE 'T%')
     UPDATE STAFF11
           SET EMPNAME = 'Tom'
           WHERE EMPNUM = 'E3';
  -- PASS:0516 If ERROR, integrity constraint violation, 0 rows updated?
  -- PASS:0516 OR ERROR, check constraint, 0 rows updated?
  -- PASS:0516 OR SQLSTATE = 23502 OR SQLCODE < 0?
  
  -- restore
     ROLLBACK WORK;
  
  -- END TEST >>> 0516 <<< END TEST
  -- *************************************************////END-OF-MODULE
  