您的位置:68399皇家赌场 > 虚拟主机 > SQLServer之CHECK约束

SQLServer之CHECK约束

发布时间:2019-04-28 13:57编辑:虚拟主机浏览(85)

    选用SSMS数据库管理工科具修改CHECK约束

    1、展开数据库,选取数据表-》右键点击-》选取设计(也许进行约束,选择约束,右键点击,选拔修改,前面步骤一样)。

    澳门皇家赌场55533网址 1

    澳门皇家赌场55533网址 2

    2、接纳要修改的数据列-》右键点击-》选取CHECK约束。

    澳门皇家赌场55533网址 3

    三、在CHECK约束弹出框中-》选拔要修改的牢笼-》输入约束表明式-》输入约束名和平条目束描述-》采用表设计器规则-》点击关闭。

    澳门皇家赌场55533网址 4

     四、点击保存按键(也许ctrl s)-》刷新表查看修改结果。

    澳门皇家赌场55533网址 5

    CHECK约束增加规则

    1、CHECK 约束用于限制列中的值的限量。

    二、Check约束通过逻辑表达式来判别数据的有用,用来限制输入一列或多列的值的限定,在列中更新数据时,所要输入的始末必须满意Check约束的口径,不然将无法精确输入。

    3、假如对单个列定义 CHECK 约束,那么该列只允许特定的值。

    四、即便对八个表定义 CHECK 约束,那么此约束会在特定的列中对值进行限制。

    DEFAULT约束增加规则

    壹、若在表中定义了暗中同意值约束,用户在插入新的数额行时,倘若该行未有点名数量,那么系统将私下认可值赋给该列,假诺大家不安装默许值,系统暗许为NULL。

    二、纵然“默许值”字段中的项替换绑定的暗许值(以不带圆括号的花样显得),则将唤起您拨冗对暗中同意值的绑定,并将其替换为新的暗许值。

    三、若要输入文本字符串,请用单引号 (') 将值括起来;不要采用双引号 ("),因为双引号已封存用于带引号的标记符。

    四、若要输入数值暗中同意值,请输入数值并且永不用引号将值括起来。

    伍、若要输入对象/函数,请输入对象/函数的称呼并且不要用引号将名称括起来。

    FOREIGN KEY约束增添规则

    一、外键约束并不只能与另一表的主键约束相链接,它还足以定义为引用另一个表中 UNIQUE 约束的列。

    二、尽管在 FOREIGN KEY 约束的列中输入非 NULL 值,则此值必须在被引用列中设有;不然,将回来违反外键约束的错误音信。 若要确认保证验证了咬合外键约束的持有值,请对负有插手列钦定NOT NULL。

    三、FOREIGN KEY 约束仅能引用位于同壹服务器上的同样数据库中的表。 跨数据库的引用完整性必须经过触发器落成。

    四、FOREIGN KEY 约束可援引同一表中的其余列。 此行为称作自引用。

    五、在列级钦命的 FOREIGN KEY 约束只可以列出七个引用列。 此列的数据类型必须与概念约束的列的数据类型同样。

    陆、在表级钦定的 FOREIGN KEY 约束所拥有的引用列数目必须与约束列列表中的列数一样。 各类引用列的数据类型也务必与列表中相应列的数据类型一样。

    7、对于表可包括的引用其余表的 FOREIGN KEY 约束的多寡或其余表所具备的引用特定表的 FOREIGN KEY 约束的数据, 数据库引擎 都不曾预订义的限定。 就算如此,可采纳的 FOREIGN KEY 约束的实际上数目仍然受硬件配置以及数据库和应用程序设计的界定。 表最多可以将 二伍十六个别的表和列作为外键引用(传出引用)。 SQL Server 2016 (一三.x) 将可在独立的表中引用的其余表和列(传入引用)的数据限制从 253 进步至 拾,000。 (包容性品级至少必须为 130。)数量限制的抓牢带来了下列约束:

    DELETE 和 UPDATE DML 操作协理胜出 二伍三 个外键引用。 不帮忙MEPAJEROGE 操作。

    对自己实行外键引用的表仍只好进行 2五一个外键引用。

    列存款和储蓄索引、内部存款和储蓄器优化表和 Stretch Database 暂不帮忙开展超越 253 个外键引用。

    捌、对于临时表不强制 FOREIGN KEY 约束。

    玖、假使在 CLRubicon用户定义类型的列上定义外键,则该类型的贯彻必须辅助贰进制排序。

    10、仅当 FOREIGN KEY 约束引用的主键也定义为品种 varchar(max) 时,才干在此约束中运用项目为varchar(max) 的列。

    动用T-SQL脚本修改CHECK约束

    CHECK约束修改规则必须首先删除现成的CHECK自律,然后采取新定义再一次成立,本事应用Transact-SQL修改CHECK约束。

    语法:

    --修改check约束
    use 数据库名
    go

    --假如封锁存在则先删除
    if exists(select * from sysobjects where name=约束名)
    alter table 表名 drop constraint 约束名;
    go

    --加多封锁
    alter table 表名
    --with check --该约束是还是不是使用于现成数据,with check代表应用于现成数量,with nocheck表示不使用于现成数量
    add constraint 约束名
    check
    not for replication --当复制代理在表中插入或更新数据时,禁止使用该约束。
    (约束表明式);
    go

    --向表中加多新数据或更新表中存活数据时是不是禁止使用该约束。check表示校验,nocheck表示不校验
    --alter table 表名
    --check
    --constraint 表名;
    --go

    --增加check约束描述
    execute sp_addextendedproperty N'MS_Description', N'约束描述', N'SCHEMA', N'dbo', N'TABLE', N'表名', N'CONSTRAINT', N'约束名';
    go

    示例:

    --修改check约束
    use testss
    go

    --就算封锁存在则先删除
    if exists(select * from sysobjects where name='u_check2')
    alter table test1 drop constraint u_check2;
    go

    --增添封锁
    alter table test1
    --with check --该约束是还是不是使用于现存数据,with check代表应用于现成数据,with nocheck表示不使用于现成数据
    add constraint u_check2
    check
    not for replication --当复制代理在表中插入或更新数据时,禁止使用该约束。
    (height>=100 and height <=200);
    go

    --向表中增多新数据或更新表中幸存数量时是否禁止使用该约束。check代表校验,nocheck代表不校验
    --alter table test1
    --check
    --constraint u_check2;
    --go

    --加多check约束描述
    execute sp_addextendedproperty N'MS_Description', N'修改约束', N'SCHEMA', N'dbo', N'TABLE', N'test1', N'CONSTRAINT', N'u_澳门皇家赌场55533网址,check2';
    go

    澳门皇家赌场55533网址 6

    澳门皇家赌场55533网址 7

    动用SSMS数据库管理工科具增多CHECK约束

    一、连接数据库,采用数据库,采纳数据表-》右键点击(可能直接点击约束,右键点击,选用充分约束,后边步骤同样)-》选用设计。

    澳门皇家赌场55533网址 8

    2、选拔要增加约束的多少列-》右键点击-》选择CHECK约束。

    澳门皇家赌场55533网址 9

    三、在CHECK约束弹出框中式点心击加多。

    澳门皇家赌场55533网址 10

    四、在CHECK约束弹出框中-》输入CHECK约束表明式-》输入CHECK约束名-》输入CHECK约束描述-》别的能够采纳暗中同意。

    澳门皇家赌场55533网址 11

    5、点击关闭-》点击保存开关(只怕ctrl s)-》刷新表查看结果。

    澳门皇家赌场55533网址 12

    动用SSMS数据库管理工科具加多DEFAULT约束

    一、连接数据库,选取数据表-》右键点击-》采纳设计。

    澳门皇家赌场55533网址 13

    2、在表设计窗口中-》采取数据列-》在列属性窗口中找到私下认可值或绑定-》输入暗中同意值(注意默许值的数据类型和输入格式)。

    澳门皇家赌场55533网址 14

    三、点击保存按键(也许ctrl s)-》刷新表-》再一次展开表查看结果。

    澳门皇家赌场55533网址 15

    运用SSMS数据库管理工科具增添外键约束

    本示例演示当表结构已存在时增多外键约束,成立表时增进外键约束步骤和表结构存在时增添外键步骤同样。示例演示如下:

    1、连接数据库,展开要增添外键的数据表-》右键点击-》采用设计。

    澳门皇家赌场55533网址 16

    二、在表设计窗口-》选用要加多外键的数额行-》右键点击-》采用涉及。

    澳门皇家赌场55533网址 17

    三、在外键关系窗口中-》点击增添。

    澳门皇家赌场55533网址 18

    肆、加多达成后-》首先修改表和列标准。

    澳门皇家赌场55533网址 19

    5、在表和列窗口中-》输入外键名-》在左边选取主表和涉及的列-》在左侧选用从表和当作外键的列-》点击分明。

    澳门皇家赌场55533网址 20

    6、在外键关系窗口中-》可选择丰盛只怕不增多外键描述-》可挑选丰富只怕不增加修改大概去除数据时级联操作-》可采用丰盛可能不添抓好制外键约束-》可挑选丰裕大概不增多强制用于复制-》点击关闭。

    澳门皇家赌场55533网址 21

    7、点击保存开关(ctrl s)-》此时表会弹出警告窗口,点击是-》刷新查看外键是或不是充分成功。

    澳门皇家赌场55533网址 22

    澳门皇家赌场55533网址 23

    本文由68399皇家赌场发布于虚拟主机,转载请注明出处:SQLServer之CHECK约束

    关键词: 68399皇家赌场