mssql sqlserver sys.foreign_keys 系统表简介说明


摘要:
下文将通过示例讲述”sys.foreign_keys”系统表的功能,如下所示:
实验环境:sql server 2008 R2



sys.foreign_keys 功能说明

sys.foreign_keys 系统表存储系统中的外键对象,每个外键在此系统表中会存储一行
—————————————————————————

    select * from sys.foreign_keys

sys.foreign_keys 返回列说明:

列名称

数据类型

备注说明
name

sysname

外键名称
object_id

int

外键对象标识列
principal_id

int

一般存储所有者相关信息,在外键中,存储null
schema_id

int

对象架构Id
parent_object_id

int

对象所属父级对象Id
type

char(2)

对象类型,此处为F
type_desc

nvarchar(60)

对象类型说明
create_date

datetime

外键对象的创建日期
modify_date

datetime

外键对象的修改日期
is_ms_shipped

bit

对象是否由内部sql server组件创建
is_published

bit

对象是否为发布对象

is_schema_published

bit

是否为发布对象的架构
referenced_object_id

int

所属对象的ID,通常为表对象Id
key_index_id

int

对象内键索引Id
is_disabled

bit

外键是否禁用
1 启用
0 禁用

is_not_for_replication

bit

FOREIGN KEY 约束通过 NOT FOR REPLICATION 选项创建。
is_not_trusted

bit

系统是否验证此外键
delete_referential_action

tinyint

执行删除时为此 FOREIGN KEY 声明的引用操作。
0:不执行任何操作
1:级联
2:设置 Null
3:设置默认值
delete_referential_action_desc

nvarchar(60)

执行删除时为此 FOREIGN KEY 声明的引用操作的说明:
NO_ACTION
CASCADE
SET_NULL
SET_DEFAULT
update_referential_action

tinyint

执行更新时为此 FOREIGN KEY 声明的引用操作。
0:不执行任何操作
1:级联
2:设置空值
3:设置默认值
update_referential_action_desc

nvarchar(60)

执行更新时为此 FOREIGN KEY 声明的引用操作的说明:
NO_ACTION
CASCADE
SET_NULL
SET_DEFAULT
is_system_named

bit

1:外键名称由系统自动生成
0:外键名称由用户指定