| 列名 | 列类型 | 列约束 | 表约束 |
|---|---|---|---|
| foreign_table_id | UNSIGNED INT | NOT NULL | 主键。外键引用 SYSTABLE.table_id. 唯一索引。 |
| foreign_key_id | SMALLINT | NOT NULL | 主键。 |
| primary_table_id | UNSIGNED INT | NOT NULL | 外键引用 SYSTABLE.table_id。 |
| root | INTEGER | NOT NULL | |
| check_on_commit | CHAR(1) | NOT NULL | |
| nulls | CHAR(1) | NOT NULL | |
| role | CHAR(128) | NOT NULL | 唯一索引。 |
| remarks | LONG VARCHAR | ||
| primary_index_id | UNSIGNED INT | NOT NULL | |
| fk_not_enforced | CHAR(1) | NOT NULL | |
| hash_limit | SMALLINT | NOT NULL |
外键是两个表(外表和主表)之间的关系。每个外键都由 SYSFOREIGNKEY 中的一行和 SYSFKCOL 的一行或多行定义。SYSFOREIGNKEY 包含有关外键的一般信息而 SYSFKCOL 标识外键中的列并将外键中每个列与主表的主键中的一列相关联。
foreign_table_id 外表的表号。
foreign_key_id 每个外键都有一个外键号,该号在以下方面是唯一的:
外表的所有其它外键的键号
主表的所有外键的键号
外表的所有索引的索引号
primary_table_id 主表的表号。
root root 标识数据库文件中外键的根页的位置。
check_on_commit (Y/N) 指出 INSERT 和 UPDATE 语句是否应等到下一个 COMMIT 再检查外键是否有效。对于外表中的每一行来说,如果外键列中的值包含 NULL 值或者与主表的某一行中的主键值匹配,则外键有效。
nulls (Y/N) 指出是否允许外键中的列包含 NULL 值。注意该设置与外键中所包含列的 nulls 设置无关。
role 外表和主表之间的关系名称。除非另外指定,role 名称将与主表的名称相同。外表不能有两个角色名相同的外键。
remarks 注释字符串。
primary_index_id 主键的 index_id。
fk_not_enforced (Y/N) 如果表中有一个是远程表,则为 N。
hash_limit 包含有关物理索引表示形式的信息。
SQL Anywhere Studio 9.0.2
版权所有 © 1989–2005 Sybase, Inc. 部分版权所有 © 2001–2005 iAnywhere Solutions, Inc. 保留所有权利。