Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 10.0.1 » SQL Remote » SQL Remote Installation Design » Ensuring unique primary keys » Using primary key pools

Using primary key pools Next Page

The primary key pool table


The pool of primary keys is held in a separate table. The following CREATE TABLE statement creates a primary key pool table:

CREATE TABLE KeyPool (
   table_name VARCHAR(40) NOT NULL,
   value INTEGER NOT NULL,
   location CHAR(12) NOT NULL,
   PRIMARY KEY (table_name, value),
);

The columns of this table have the following meanings:

Column

Description

table_name

Holds the names of tables for which primary key pools must be maintained. In our simple example, if new sales representatives were to be added only at the consolidated database, only the Customers table needs a primary key pool and this column is redundant. It is included to show a general solution.

value

Holds a list of primary key values. Each value is unique for each table listed in table_name.

location

An identifier for the recipient. In some setups, this could be the same as the rep_key value of the SalesReps table. In other setups, there will be users other than sales representatives and the two identifiers should be distinct.

For performance reasons, you may wish to create an index on the table:

CREATE INDEX KeyPoolLocation
ON KeyPool (table_name, location, value);