blob: c9d0523955c44f81441728b9c25ba3e49c7801d7 [file] [log] [blame]
--
-- 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 DML091
-- SQL Test Suite, V6.0, Interactive SQL, dml091.sql
-- 59-byte ID
-- TEd Version #
-- AUTHORIZATION SCHANZLE
set schema SCHANZLE;
--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:0497 SQLSTATE 22003: data exception/numeric val.range 2!
-- setup
DELETE FROM HU.P1;
DELETE FROM FOUR_TYPES;
INSERT INTO HU.P1
VALUES (100000);
-- PASS:0497 If 1 row is inserted?
-- PASS:0497 OR ERROR, data exception/numeric value out of range?
-- PASS:0497 OR 0 rows inserted OR SQLSTATE = 22003 OR SQLCODE < 0?
INSERT INTO HU.P1
VALUES (-1000000);
-- PASS:0497 If 1 row is inserted?
-- PASS:0497 OR ERROR, data exception/numeric value out of range?
-- PASS:0497 OR 0 rows inserted OR SQLSTATE = 22003 OR SQLCODE < 0?
INSERT INTO HU.P1
VALUES (-9);
-- PASS:0497 If 1 row is inserted?
INSERT INTO HU.P1
VALUES (9);
-- PASS:0497 If 1 row is inserted?
UPDATE HU.P1
SET NUMTEST = NUMTEST + 100000
WHERE NUMTEST = 9;
-- PASS:0497 If 1 row is updated?
-- PASS:0497 OR ERROR, data exception/numeric value out of range?
-- PASS:0497 OR 0 rows updated OR SQLSTATE = 22003 OR SQLCODE < 0?
UPDATE HU.P1 SET NUMTEST =
((1 + NUMTEST) * 100000)
WHERE NUMTEST = 100009
OR NUMTEST IN (SELECT GRADE - 4 FROM HU.STAFF);
-- PASS:0497 If 1 row is updated?
-- PASS:0497 OR ERROR, data exception/numeric value out of range?
-- PASS:0497 OR 0 rows updated OR SQLSTATE = 22003 OR SQLCODE < 0?
UPDATE HU.P1
SET NUMTEST = NUMTEST * 200000
WHERE NUMTEST = -9;
-- PASS:0497 If 1 row is updated?
-- PASS:0497 OR ERROR, data exception/numeric value out of range?
-- PASS:0497 OR 0 rows updated OR SQLSTATE = 22003 OR SQLCODE < 0?
-- setup
INSERT INTO FOUR_TYPES
VALUES (1,'X',11112222.00,.000003E-25);
SELECT T_DECIMAL / .000000001
FROM FOUR_TYPES
WHERE T_CHAR = 'X';
-- PASS:0497 If 1 row is selected and T_DECIMAL = 1.1112222E+16 ?
-- PASS:0497 OR ERROR, data exception/numeric value out of range?
-- PASS:0497 OR 0 rows selected OR SQLSTATE = 22003 OR SQLCODE < 0?
-- NOTE:0497 If the following values are too large (not supported),
-- NOTE:0497 use TEd to decrease them to maximum allowed.
INSERT INTO FOUR_TYPES (T_REAL) VALUES (-1.555222E+38);
INSERT INTO FOUR_TYPES (T_REAL) VALUES (-1.555222E+38);
INSERT INTO FOUR_TYPES (T_REAL) VALUES (-1.555222E+38);
INSERT INTO FOUR_TYPES (T_REAL) VALUES (-1.555222E+38);
INSERT INTO FOUR_TYPES (T_REAL) VALUES (-1.555222E+38);
INSERT INTO FOUR_TYPES (T_REAL) VALUES (-1.555222E+38);
INSERT INTO FOUR_TYPES (T_REAL) VALUES (-1.555222E+38);
INSERT INTO FOUR_TYPES (T_REAL) VALUES (-1.555222E+38);
INSERT INTO FOUR_TYPES (T_REAL) VALUES (-1.555222E+38);
INSERT INTO FOUR_TYPES (T_REAL) VALUES (-1.555222E+38);
INSERT INTO FOUR_TYPES (T_REAL) VALUES (-1.555222E+38);
INSERT INTO FOUR_TYPES (T_REAL) VALUES (-1.555222E+38);
INSERT INTO FOUR_TYPES (T_REAL) VALUES (-1.555222E+38);
INSERT INTO FOUR_TYPES (T_REAL) VALUES (-1.555222E+38);
INSERT INTO FOUR_TYPES (T_REAL) VALUES (-1.555222E+38);
INSERT INTO FOUR_TYPES (T_REAL) VALUES (-1.555222E+38);
-- NOTE:0497 If we have not inserted enough big values into FOUR_TYPES,
-- NOTE:0497 to cause an ERROR on the SELECT SUM(T_REAL) below, then
-- NOTE:0497 use TEd to enlarge the above values for T_REAL to the
-- NOTE:0497 maximum allowed by your implementation.
-- NOTE:0497 If that is not enough, add more INSERTs.
SELECT SUM(T_REAL) FROM FOUR_TYPES;
-- PASS:0497 If ERROR, data exception/numeric value out of range?
-- PASS:0497 OR 0 rows selected OR SQLSTATE = 22003 OR SQLCODE < 0?
ROLLBACK WORK;
-- END TEST >>> 0497 <<< END TEST
-- *************************************************////END-OF-MODULE