在ERwin中建立域所涉及到的SQL2000的相关知识

来源:互联网 发布:活跃用户大数据 编辑:程序博客网 时间:2024/05/20 06:41
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>


将规则/默认值绑定到用户定义数据类型
使用此对话框查看或指定下列选项。

选项
规则

查看希望绑定到用户定义的数据类型的规则名。当绑定到列或用户定义数据类型时,规则将指定可以插入到列中的可接受的值。规则是一种向后兼容的功能,执行一些与检查约束相同的功能。CHECK约束是使用ALTER或CREATETABLE的CHECK关键字创建的,是对列中的值进行限制的首选标准方法(可以对一列或多列定义多个约束)。列或用户定义数据类型只能有一个绑定的规则。但是,列可以同时具有规则和一个或多个与其关联的检查约束。在这种情况下,将检查所有限制。有关规则的更多信息,请参见CREATERULE。

规则
规则是一个向后兼容的功能,用于执行一些与CHECK约束相同的功能。CHECK约束是用来限制列值的首选标准方法。CHECK约束比规则更简明,一个列只能应用一个规则,但是却可以应用多个CHECK约束。CHECK约束作为CREATETABLE语句的一部分进行指定,而规则以单独的对象创建,然后绑定到列上。

下例创建一个规则,执行与前面主题中的CHECK约束示例相同的功能。Microsoft®™2000首选的方法是CHECK约束。

CREATERULEid_chkAS@idBETWEEN0and10000
GO
CREATETABLEcust_sample
  (
  cust_id           int
  PRIMARYKEY,
  cust_name        char(50),
  cust_address        char(50),
  cust_credit_limit  money,
  )
GO
sp_bindruleid_chk,'cust_sample.cust_id'
GO

名称

查看用户定义的数据类型的名称和数据类型。通过选中"绑定"框选择要绑定的每个规则。选择"仅将来"框会防止现有用户定义数据类型列继承新规则。如果选定"仅将来"框,新规则将绑定到当前没有规则或使用现有用户定义数据类型规则的任何用户定义数据类型列。有关绑定规则的更多信息,请参见sp_bindrule。

一、CREATERULE
创建称为规则的对象。当绑定到列或用户定义数据类型时,规则将指定可以插入到列中的可接受的值。规则是一种向后兼容的功能,执行一些与检查约束相同的功能。CHECK约束是使用ALTER或CREATETABLE的CHECK关键字创建的,是对列中的值进行限制的首选标准方法(可以对一列或多列定义多个约束)。列或用户定义数据类型只能有一个绑定的规则。但是,列可以同时具有规则和一个或多个与其关联的检查约束。在这种情况下,将检查所有限制。

语法
CREATERULErule
   AScondition_expression

参数
rule

是新规则的名称。规则名称必须符合标识符规则。可以选择是否指定规则所有者的名称。

condition_expression

是定义规则的条件。规则可以是WHERE子句中任何有效的表达式,并且可以包含诸如算术运算符、关系运算符和谓词(如IN、LIKE、BETWEEN)之类的元素。规则不能引用列或其它对象。可以包含不引用数据库对象的内置函数。

condition_expression包含一个变量。每个局部变量的前面都有一个@符号。该表达式引用通过UPDATE或INSERT语句输入的值。在创建规则时,可以使用任何名称或符号表示值,但第一个字符必须是@符号。

注释
在单个批处理中,CREATERULE语句不能与其它Transact-SQL语句组合使用。规则不适用于在创建规则时已存在于数据库中的数据,而且规则不能绑定到系统数据类型。规则只能在当前的数据库中创建。创建规则后,执行sp_bindrule可将规则绑定到列或用户定义数据类型。

规则必须与列的数据类型兼容。规则不能绑定到text、image或timestamp列。一定要用单引号(')将字符和日期常量引起来,在二进制常量前加0x。例如,不能将"@valueLIKEA%"用作数字列的规则。如果规则与其所绑定的列不兼容,Microsoft®SQLServer™将在插入值时(而不是在绑定规则时)返回错误信息。1<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
原创粉丝点击