© Copyright IBM Corp. 2006. All rights reserved. xi
Examples
1-1 DB2 data encryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1-2 Referential integrity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2-1 Unique clause besides column definition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2-2 Unique clause at the end of column definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2-3 Adding a unique constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2-4 Employee table with check constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2-5 CURRENT RULES - STD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2-6 CURRENT RULES - DB2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2-7 Tables with different currency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2-8 Comparing two different data types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2-9 Incompatible data types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3-1 CREATE and ALTER statements with primary keys . . . . . . . . . . . . . . . . . . . . . . . . . 65
3-2 CREATE, ALTER, and DROP statements with foreign keys. . . . . . . . . . . . . . . . . . . 68
3-3 CREATE and ALTER with NOT ENFORCED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3-4 REPORT TABLESPACESET output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
3-5 Exception table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
3-6 Output for CHECK DATA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
3-7 Output CHECK DATA with DELETE NO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
3-8 Output CHECK DATA with DELETE YES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
3-9 Exception table for DEPT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
4-1 Using the VALUES statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
4-2 Using the SELECT statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
4-3 Using the CALL statement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
4-4 Trigger with before and after values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
4-5 Trigger with transition tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
4-6 Declaring input variables for table locators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
4-7 Declaring table locators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
4-8 Declaring a cursor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
4-9 Setting values of table locators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
4-10 Accessing the transition tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
4-11 Generating error messages in a trigger body . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
4-12 Generating error messages in a trigger after calling a UDF . . . . . . . . . . . . . . . . . . 121
4-13 User-defined SQLSTATE and error message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
4-14 Table and index definition for test scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
4-15 Trigger definition for insert verification. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
4-16 UDF for insert verification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
4-17 Execution sequence of triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
4-18 Before triggers do not support cascading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
4-19 Trigger for data validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
4-20 Trigger for complex data validation (with UDF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
4-21 Triggers for maintaining redundant data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
4-22 Trigger for complex redundant data maintenance (with stored procedure) . . . . . . . 141
4-23 Triggers for maintaining summary data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
4-24 Triggers for maintaining existence flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
4-25 Triggers for multiple parent RI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
4-26 Triggers for “Last-child-gone” rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
4-27 Trigger for generating an e-mail. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
4-28 Trigger to write calling a stored procedure for an MQ message . . . . . . . . . . . . . . . 151

Get Data Integrity with DB2 for z/OS now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.