您可以在域中附加 CHECK 约束。使用这些域定义的列将继承 CHECK 约束。为列显式指定的 CHECK 约束将替换域中的 CHECK 约束。例如,此域定义中的 CHECK 子句要求插入到列中的值只能为正整数。
CREATE DATATYPE positive_integer INT CHECK ( @col > 0 ); |
任何使用 positive_integer 域定义的列都只接受正整数,除非为列本身显式指定了 CHECK 约束。由于任何前缀为 @ 符号的变量都会在评估 CHECK 约束时被列名替换,因此,可以使用任何前缀为 @ 的变量名称来代替 @col。
带有 DELETE CHECK 子句的 ALTER TABLE 语句将从表定义中删除所有 CHECK 约束,包括从域继承的那些 CHECK 约束。
在域上定义列后,对此域定义中的约束所做的任何更改都不会应用到该列。创建列时,它会从该域获取约束,但之后两者之间就不再有关联。
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2013, SAP 股份公司或其关联公司. - SAP Sybase SQL Anywhere 16.0 |