使用 WITH AUDIT 子句
使用 WITH AUDIT 关键字创建表,如果启用了选择性行级别,则该表将包含在行级别升级的表的集合中。
如果创建带有 WITH AUDIT 子句的表,则当选择性行级别审计启动时,表中行级别审计事件会重新排序。在本表上应用 WITH AUDIT 属性不会启用选择性行级别审计。此审计类型在使用 onaudit -R 命令将 adtcfg 文件的 ADTROWS 参数设置成 1 或 2 时启用。
您必须具有 RESOURCE 或 DBA 权限才能运行带有 WITH AUDIT 子句的 CREATE TABLE 语句。
使用 WITH CRCOLS 选项
使用 WITH CRCOLS 关键字创建两个影子列,Enterprise Replication 将它们用于冲突解决。第一列 cdrserver 中包含最近发生修改的数据库服务器的标识。第二列 cdrtime 中包含最近一次修改的时间戳记。必须在您可以使用时间戳记或 UDR 冲突解决之前添加这两列。这两列是隐藏的影子列,因为它们不能被索引且不能在系统目录表中查看。
对于大多数数据库操作,cdrserver 和 cdrtime 列都是隐藏的。例如,如果您在创建表时包含了 WITH CRCOLS 关键字,则 cdrserver 和 cdrtime 列将有以下的行为:
SELECT * FROM tablename;
要查看 cdrserver 和 cdrtime 的内容,请在 SELECT 语句的投影列表中显式指定这些列,如以下示例所示:
SELECT cdrserver, cdrtime FROM tablename;
有关如何使用这些选项的更多信息,请参阅 GBase 8s Enterprise Replication 指南。
使用 WITH ERKEY 关键字
使用 WITH ERKEY 关键字创建 ERKEY 影子列,它可以被 Enterprise Replication 用作复制键。
ERKEY 影子列(ifx_erkey_1 、ifx_erkey_2 和 ifx_erkey_3)是可见的影子列,因为它们可以被索引且能在系统目录表中查看。在创建 ERKEY 影子列之后,会在使用这些列的表上创建新的唯一索引和唯一约束。Enterprise Replication 使用此索引作为复制键。
对于大多数数据库操作,ERKEY 列是隐藏的。例如,如果您在创建表时包含了 WITH ERKEY 关键字,则 ERKEY 列具有以下行为:
SELECT * FROM tablename;
要查看 ERKEY 列的内容,请在 SELECT 语句的投影列表中显式指定这些列,如以下示例所示:
SELECT ifx_erkey_1, ifx_erkey_2, ifx_erkey_3 FROM customer;
示例
在以下示例中,ERKEY 影子列添加到 customer 表中:
CREATE TABLE customer (id INT) WITH ERKEY;
使用 WITH REPLCHECK 关键字
使用 WITH REPLCHECK 关键字创建 ifx_replcheck 影子列,Enterprise Replication 将该列用于一致性检查。
ifx_replcheck 列是可见的影子列,因为它们可以被索引且能在系统目录表中查看。创建 ifx_replcheck 影子列之后,必须在主键和 ifx_replcheck 列上创建唯一索引。ifx_replcheck 影子列必须是该索引中的最后一列。Enterprise Replication 使用此索引加速一致性检查。
对于大多数数据库操作,ifx_replcheck 列是隐藏的。例如,如果创建表时使用了 WITH REPLCHECK 关键字,则 ifx_replcheck 列包含以下行为:
SELECT * FROM tablename;
要查看 ifx_replcheck 列的内容,请在 SELECT 语句的投影列表中显式指定这些列,如以下示例所示:
SELECT ifx_replcheck FROM customer;
示例
在下列示例中,将 ifx_replcheck 影子列添加到 customer 表中:
CREATE TABLE customer (id int) WITH REPLCHECK;