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

SQL Anywhere 11.0.0 » SQL Remote » Replication Design for SQL Remote » SQL Remote installation design » Ensuring unique primary keys » Using primary key pools


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:

   table_name VARCHAR(40) 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 want to create an index on the table:

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