10.12.2012 Views

Application Programming and SQL Guide - Kmlinux

Application Programming and SQL Guide - Kmlinux

Application Programming and SQL Guide - Kmlinux

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

|<br />

#<br />

Defining a parent key <strong>and</strong> a unique index . . . . . . . . . . . . . 254<br />

Defining a foreign key . . . . . . . . . . . . . . . . . . . . . 256<br />

Referential constraints on tables with multilevel security with row-level<br />

granularity . . . . . . . . . . . . . . . . . . . . . . . . 258<br />

Using informational referential constraints . . . . . . . . . . . . . . 259<br />

Chapter 11. Using DB2-generated values as keys . . . . . . . . . . 261<br />

Using ROWID columns as keys . . . . . . . . . . . . . . . . . . 261<br />

Defining a ROWID column . . . . . . . . . . . . . . . . . . . 261<br />

Direct row access . . . . . . . . . . . . . . . . . . . . . . 262<br />

Using identity columns as keys . . . . . . . . . . . . . . . . . . 262<br />

Defining an identity column . . . . . . . . . . . . . . . . . . . 263<br />

Parent keys <strong>and</strong> foreign keys . . . . . . . . . . . . . . . . . . 264<br />

Using values obtained from sequence objects as keys . . . . . . . . . . 265<br />

Creating a sequence object . . . . . . . . . . . . . . . . . . . 265<br />

Referencing a sequence object . . . . . . . . . . . . . . . . . 266<br />

Keys across multiple tables . . . . . . . . . . . . . . . . . . . 266<br />

Chapter 12. Using triggers for active data . . . . . . . . . . . . . 269<br />

Example of creating <strong>and</strong> using a trigger . . . . . . . . . . . . . . . 269<br />

Parts of a trigger . . . . . . . . . . . . . . . . . . . . . . . . 271<br />

Trigger name . . . . . . . . . . . . . . . . . . . . . . . . 271<br />

Subject table . . . . . . . . . . . . . . . . . . . . . . . . 271<br />

Trigger activation time . . . . . . . . . . . . . . . . . . . . . 271<br />

Triggering event . . . . . . . . . . . . . . . . . . . . . . . 271<br />

Granularity . . . . . . . . . . . . . . . . . . . . . . . . . 272<br />

Transition variables . . . . . . . . . . . . . . . . . . . . . . 273<br />

Transition tables . . . . . . . . . . . . . . . . . . . . . . . 274<br />

Triggered action . . . . . . . . . . . . . . . . . . . . . . . 275<br />

Invoking stored procedures <strong>and</strong> user-defined functions from triggers . . . . . 277<br />

Passing transition tables to user-defined functions <strong>and</strong> stored procedures 278<br />

Trigger cascading . . . . . . . . . . . . . . . . . . . . . . . 278<br />

Ordering of multiple triggers . . . . . . . . . . . . . . . . . . . . 279<br />

Interactions between triggers <strong>and</strong> referential constraints . . . . . . . . . 280<br />

Interactions between triggers <strong>and</strong> tables that have multilevel security with<br />

row-level granularity . . . . . . . . . . . . . . . . . . . . . . 281<br />

Creating triggers to obtain consistent results . . . . . . . . . . . . . 282<br />

Part 3. Using DB2 object-relational extensions . . . . . . . . . . . . . . . . 285<br />

Chapter 13. Introduction to DB2 object-relational extensions . . . . . . 287<br />

Chapter 14. <strong>Programming</strong> for large objects . . . . . . . . . . . . . 289<br />

Introduction to LOBs . . . . . . . . . . . . . . . . . . . . . . 289<br />

Declaring LOB host variables <strong>and</strong> LOB locators . . . . . . . . . . . . 292<br />

LOB materialization . . . . . . . . . . . . . . . . . . . . . . . 296<br />

Using LOB locators to save storage . . . . . . . . . . . . . . . . . 297<br />

Deferring evaluation of a LOB expression to improve performance . . . . 297<br />

Indicator variables <strong>and</strong> LOB locators . . . . . . . . . . . . . . . 299<br />

Valid assignments for LOB locators . . . . . . . . . . . . . . . . 300<br />

Avoiding character conversion for LOB locators . . . . . . . . . . . 300<br />

Chapter 15. Creating <strong>and</strong> using user-defined functions . . . . . . . . 301<br />

Overview of user-defined function definition, implementation, <strong>and</strong> invocation 301<br />

Example of creating <strong>and</strong> using a user-defined scalar function . . . . . . 302<br />

User-defined function samples shipped with DB2 . . . . . . . . . . . 303<br />

Contents vii

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!