Expression Distribution Scheme
Consider the following example that combines tables cur_acct and new_acct and
uses an expression-based distribution scheme. Table cur_acct was
originally created as a fragmented table and has fragments in dbspaces dbsp1 and dbsp2.
The first statement of the example shows that table cur_acct was
created with an expression-based distribution scheme. The second statement
of the example creates table new_acct in dbsp3 without
a fragmentation strategy. The third statement combines the tables cur_acct and new_acct.
Table structures (columns) are identical in each table.
CREATE TABLE cur_acct (a int) FRAGMENT BY EXPRESSION a < 5 in dbsp1, a >= 5 and a < 10 in dbsp2; CREATE TABLE new_acct (a int) IN dbsp3; ALTER FRAGMENT ON TABLE cur_acct ATTACH new_acct AS a>=10;
When you examine the sysfragments system catalog table after you alter the fragment, you see that table cur_acct is fragmented by expression into three dbspaces. For additional information about the sysfragments system catalog table, see the HCL OneDB™ Guide to SQL: Reference.
In addition to simple range rules, you can use the ATTACH clause to fragment by expression with
hash or arbitrary rules. For a discussion of all types of expressions that you can use in an
expression-based distribution scheme, see Expression Fragment Clause.
Warning: When you specify a date value as the default value for a parameter,
make sure to specify 4 digits instead of 2 digits for the year. If you specify a 2-digit year, the
setting of the DBCENTURY environment variable can affect how the database server interprets
the date value. For more information, see the HCL OneDB Guide to SQL:
Reference.