User's Manual

You assign each copy of the database a unique global database identification
number. Adaptive Server Anywhere supplies default values in a database
only from the partition uniquely identified by that database’s number.
For example, if you assigned the database in the above example the identity
number 10, the default values in that database would be chosen in the range
10001–11000. Another copy of the database, assigned the identification
number 11, would supply default value for the same column in the range
11001–12000.
Declaring default global autoincrement
You can set default values in your database by selecting the column
properties in Sybase Central, or by including the DEFAULT GLOBAL
AUTOINCREMENT phrase in a TABLE or ALTER TABLE statement.
Optionally, the partition size can be specified in parentheses immediately
following the AUTOINCREMENT keyword. The partition size may be any
positive integer, although the partition size is generally chosen so that the
supply of numbers within any one partition will rarely, if ever, be exhausted.
For columns of type INT or UNSIGNED INT, the default partition size is
2
16
= 65536; for columns of other types the default partition size is 2
32
=
4294967296. Since these defaults may be inappropriate, especially if our
column is not of type INT or BIGINT, it is best to specify the partition size
explicitly.
For example, the following statement creates a simple table with two
columns: an integer that holds a customer identification number and a
character string that holds the customer’s name.
CREATE TABLE customer (
id INT DEFAULT GLOBAL AUTOINCREMENT (5000),
name VARCHAR(128) NOT NULL,
PRIMARY KEY (id)
)
In the above example, the chosen partition size is 5000.
For more information on GLOBAL AUTOINCREMENT, see
“CREATE TABLE statement” [ASA SQL Reference, page 407].
Setting the Global_database_id value
When deploying an application, you must assign a different identification
number to each database. You can accomplish the task of creating and
distributing the identification numbers by a variety of means. One method is
to place the values in a table and download the correct row to each database
based on some other unique property, such as user name.
130