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

SQL Anywhere 11.0.1 (中文) » SQL Remote » SQL Remote 复制设计 » SQL Remote 复制设计和设置 » 重复主键错误 » 使用主键池

 

创建主键池表

♦  创建主键池表 (SQL)
  1. 在统一数据库中,执行以下语句创建一个主键池表:

    CREATE TABLE KeyPool (
       table_name VARCHAR(128) NOT NULL,
       value INTEGER NOT NULL,
       location CHAR(12) NOT NULL,
       PRIMARY KEY (table_name, value),
    );
    说明
    table_name 保存必须为其维护主键池的表的名称。例如,如果只在统一数据库添加新销售代表,则只有 Customers 表需要主键池,此列是多余的。
    value 保存一个主键值列表。每个值对于在 table_name 中列出的每个表都是唯一的。
    location 接收者的标识符。在某些系统中,这可能与 SalesReps 表的 rep_key 值相同。在其它系统中,还会有销售代表之外的用户;在这样的系统中,两个标识符应该不同。
  2. 要提高性能,可执行以下语句在主键表上创建一个索引:

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