声明约束名称

数据库服务器将约束作为索引实现。每次使用单列或多列约束格式在列上放置数据约束,但没有声明约束名称时,数据库服务器将创建一个约束并在 sysconstraints 系统目录表中为该约束添加一行。

数据库服务器还生成一个标识符并在 sysindices 系统目录表中为不与已有约束共享索引的每个新主键、唯一或引用约束添加一行。即使为约束声明了一个名称,数据库服务器也会生成一个名称并出现 sysindices 表中。(该系统目录表还包含 sysindices 表上的视图,称为 sysindexes ,列出了复合索引的每个组件。)

如果愿意的话,您还可以为该约束指定一个有意义的名称。在数据库中的约束和索引的名称中,该名称必须是唯一的。

如果约束违例则约束名称将出现错误消息中。当您使用 ALTER TABLE 语句的 DROP CONSTRAINT 子句时可以使用该名称。

当您使用 SET Database Object Mode 语句或 SET Transaction Mode 语句更改约束方式时也可以指定约束名称以及在 DROP INDEX 语句中约束作为用用户定义名称的索引实现 。

在兼容 ANSI 的数据库中,当声明任何类型约束名称时,在数据库内所有者名称和约束名称的组合必须是唯一的。