| -- @@@ START COPYRIGHT @@@ |
| -- |
| -- 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. |
| -- |
| -- @@@ END COPYRIGHT @@@ |
| -- HL_R2_Triggers_Spec.doc: SPJ enhancements to Triggers |
| -- Success: Statement trigger with literal TABLE in the referencing clause |
| |
| |
| obey TEST_SPJC_STX_002(clean_up); |
| obey TEST_SPJC_STX_002(set_up); |
| LOG LOG_SPJC_STX_002 clear; |
| obey TEST_SPJC_STX_002(tests); |
| LOG; |
| obey TEST_SPJC_STX_002(clean_up); |
| exit; |
| |
| ?section clean_up |
| set schema CAT1.SCHM; |
| drop trigger TRIG01_SPJC_STX_002; |
| |
| drop table TAB01_SPJC_STX_002; |
| drop table TAB02_SPJC_STX_002; |
| |
| |
| ?section set_up |
| SET SCHEMA CAT1.SCHM; |
| |
| SET ENVVAR ALLOW_CS_IN_SQLCI 1; |
| CONTROL QUERY DEFAULT POS 'OFF'; |
| |
| create table TAB01_SPJC_STX_002(a int, b int, c int, d int); |
| create table TAB02_SPJC_STX_002(x int, y int); |
| |
| insert into TAB01_SPJC_STX_002 values (1, 2, 3, 4), |
| (2, 3, 4, 5), |
| (3, 4, 5, 6), |
| (4, 5, 6, 7); |
| ?section tests |
| |
| ------------------------------------------------------------------ |
| -- TEST CASE 01 |
| -- Result: Success |
| ------------------------------------------------------------------ |
| CREATE TRIGGER TRIG01_SPJC_STX_002 AFTER UPDATE ON |
| TAB01_SPJC_STX_002 |
| REFERENCING OLD TABLE AS OT, NEW TABLE AS NT |
| INSERT INTO TAB02_SPJC_STX_002 values(1, 1); |
| ------------------------------------------------------------------ |
| |
| update TAB01_SPJC_STX_002 set a = a + d; |
| |
| -- RESULT: 1 |
| select count(*) from TAB02_SPJC_STX_002; |
| ------------------------------------------------------------------ |