2 using a shell script – IBM Data Server DB2 User Manual
Page 236
222
DB2 Deployment Guide
// Issue this statement to put the table in the right integrity mode
SET INTEGRITY FOR itso.adefusr ALLOW NO ACCESS IMMEDIATE CHECKED
Regardless of these required adjustments, the output from
db2look
gives us an
excellent starting point for the final set of DDL statements
5.2.2 Using a shell script
The DDL statements required to create the database layout and database
objects are collected in one file. In our case, it is itso.ddl. You can run the DDL
statements by simply invoking the command line processor (CLP) with the
-f
option as follows:
db2 -f itsodb.ddl
However, using a shell script to deploy the pre-configured database allows you to
have the error handling logic in place. To control the behavior of the script, you
can use the command line processor options and the return codes. Options
chosen depend on the logic you want to implement.
Command line processor options
CLP comes with several options for you to control how CLP should behave. In
this section, we only discuss the options that is relevant to error handling. For a
complete reference of the available options, see DB2 Information Center at:
To control the CLP in case of errors, we use these two options:
-s
This option controls whether the CLP will stop the execution or not if an error
occurs. Default behavior is that the CLP does not stop. A minus sign (-)
immediately following an option letter turns the option off. To stop the
execution when an error occurs, add the
-s-
option. For example:
db2 -s- -f itso.ddl
We recommend that you use this option if continue the DDL execution is
pointless. For instance, if creating the database fail, there is no point to
execute the rest of the DDL statements. On the other hand, it will not hurt to
continue database object creation if the creation of views fails.
-c
This option control whether the CLP uses automatic commit or not. Default is
on, which means that CLP will issue a commit after each statement. In other
words it controls whether each statement is executed in its own unit of work,