位置: 编程技术 - 正文

SQL Server中Check约束的学习教程(sql数据库check 约束代码怎么设置)

编辑:rootadmin

推荐整理分享SQL Server中Check约束的学习教程(sql数据库check 约束代码怎么设置),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:sqlcheck约束,sql数据库check 约束代码怎么设置,sql server中check约束怎么约束男为0女为1,sql server中check约束怎么约束男为0女为1,sql server中check约束怎么约束男为0女为1,sql server中check约束怎么约束男为0女为1,sqlservercheck约束语法,sql server的check约束,内容如对您有帮助,希望把文章链接给更多的朋友!

0.什么是Check约束?

CHECK约束指在表的列中增加额外的限制条件。

注: CHECK约束不能在VIEW中定义。CHECK约束只能定义的列必须包含在所指定的表中。CHECK约束不能包含子查询。

创建表时定义CHECK约束

1.1 语法:

其中,DISABLE关键之是可选项。如果使用了DISABLE关键字,当CHECK约束被创建后,CHECK约束的限制条件不会生效。

1.2 示例1:数值范围验证

验证:在表中插入supplier_id满足条件和不满足条件两种情况:

不满足条件的错误提示:

1.3 示例2:强制插入列的字母为大写

验证:在表中插入product_name满足条件和不满足条件两种情况:

不满足条件的错误提示:

2. ALTER TABLE定义CHECK约束

2.1 语法

其中,DISABLE关键之是可选项。如果使用了DISABLE关键字,当CHECK约束被创建后,CHECK约束的限制条件不会生效。

2.2 示例准备

2.3 创建CHECK约束

2.4 验证

不满足条件的错误提示:

3. 启用CHECK约束

SQL Server中Check约束的学习教程(sql数据库check 约束代码怎么设置)

3.1 语法

3.2 示例

3.3使用Check约束提升性能

在SQL Server中,SQL语句的执行是依赖查询优化器生成的执行计划,而执行计划的好坏直接关乎执行性能。

在查询优化器生成执行计划过程中,需要参考元数据来尽可能生成高效的执行计划,因此元数据越多,则执行计划更可能会高效。所谓需要参考的元数据主要包括:索引、表结构、统计信息等,但还有一些不是很被注意的元数据,其中包括本文阐述的Check约束。图1.简单查询查询优化器在生成执行计划之前有一个阶段叫做代数树优化,比如说下面这个简单查询:

查询优化器意识到1=2这个条件是永远不相等的,因此不需要返回任何数据,因此也就没有必要扫描表,从图1执行计划可以看出仅仅扫描常量后确定了1=2永远为false后,就可完成查询。

那么Check约束呢?

Check约束可以确保一列或多列的值符合表达式的约束。在某些时候,Check约束也可以为优化器提供信息,从而优化性能,比如看图二的例子。

图2.有Check约束的列提升查询性能

图2是一个简单的例子,有时候在分区视图中应用Check约束也会提升性能,测试代码如下:

我们针对Test和Test两张表结构一模一样的表做了一个分区视图。并对日期列做了Check约束,限制每张表包含的数据都是特定一年内的数据。当我们对视图进行查询并给定不同的筛选条件时,可以看到结果如图3所示。

图3.不同的条件产生不同的执行计划由图3可以看出,当筛选条件为年时,自动只扫描年的表,年的表也是同样。而当查询范围超出了和年的Check约束后,查询优化器自动判定结果为空,因此不做任何IO操作,从而提升了性能。结论在Check约束条件为简单的情况下(指的是约束限制在单列且表达式中不包含函数),不仅可以约束数据完整性,在很多时候还能够提供给查询优化器信息从而提升性能。

4. 禁用CHECK约束

4.1 语法

4.2 示例

5. 约束详细信息查看语句:

6. 删除CHECK约束6.1 语法

6.2 示例

SQL LOADER错误小结 在使用SQL*LOADER装载数据时,由于平面文件的多样化和数据格式问题总会遇到形形色色的一些小问题,下面是工作中累积、整理记录的遇到的一些形形色

SqlLoader怎么使用 SQL*Loader(SQLLDR)是Oracle的高速批量数据加载工具。这是一个非常有用的工具,可用于多种平面文件格式向Oralce数据库中加载数据。今天看了申请了*loader

SQLServer存储过程中事务的使用方法 本文为大家分享了SQLServer存储过程中事务的使用方法,具体代码如下createprocusp_Stock@GoodsIdint,@Numberint,@StockPricemoney,@SupplierIdint,@EmpIdint,@StockUnitvarchar(),@Sto

标签: sql数据库check 约束代码怎么设置

本文链接地址:https://www.jiuchutong.com/biancheng/312855.html 转载请保留说明!

上一篇:详解SQL中drop、delete和truncate的异同(sql中drop的用法)

下一篇:SQL LOADER错误小结(sqlloader-350错误)

  • 农产品的税率是9%吗
  • 临时用工费账务怎么处理
  • 企业结算时待摊费用怎么办
  • 印花税的填报方法
  • 小规模纳税人支付的增值税
  • 企业所得税的申报方式
  • 会计核算差错
  • 亏损结转本年利润会计分录
  • 新会计准则开办费装修费计入什么科目
  • 公司购入空调可以抵扣进项吗
  • 给员工缴纳保险
  • 没取得发票付款的情况该如何做账呢?
  • 全额拨款事业单位工会经费来源
  • 核定征收的企业所得税怎么算
  • 为什么收到的劳务费税点打星号?
  • 企业所得税报表模板
  • 非正常损失对应的进项税额
  • 烟草生产者消费税计算方法
  • 企业年报最容易掉进的九大“陷阱”
  • 去年的暂估成本今年如何冲掉
  • 审计费的会计科目
  • 软件行业研发费用比例有要求么
  • 收到财政扶贫补贴会计分录
  • 电脑开机黑屏没信号怎么回事
  • 跨年度暂估成本入账冲回如何会计分录
  • 印花税的计税
  • 对于目标文件系统文件过大无法删除
  • 公交车的乘车凭证能报销吗
  • 销售农产品的进项税
  • Win10组策略怎么进
  • 记账凭证技巧
  • php中通过什么属性可以获取数组中元素的个数
  • 福克兰群岛属于哪国
  • 非城市公交企业管理办法
  • 海峡群岛属于哪个洲
  • 公司交纳社会保险多少钱
  • 技术服务费可以计入成本吗
  • 2023最新最全的祈祷视频
  • 收入的利息怎么记账
  • 房子是固定资产的好处
  • 材料采购成本是什么科目
  • mysql版本5.5.x升级到5.6.x步骤分享
  • 商品流通企业购入的商品采用售价金额法核算的
  • 酒店购买天然气开票的摘要写什么
  • 出售金融资产计入
  • 接受捐赠收入作为广告费扣除基数吗
  • 个体工商户税务注销流程
  • 新收入准则 2021
  • 普通发票税费会计分录
  • 出口的进项发票认证后要确认吗
  • 科技项目扶持资金
  • 暂估成本后发票怎么处理
  • 民办幼儿园的经费投入
  • 快递费专票可以报销吗
  • 租赁财产的残值处理
  • 个税返还申请流程
  • 小规模纳税人应纳增值税额的计算
  • 用SQL统计SQLServe表存储空间大小的代码
  • linux系统中的用户大体可分为三组
  • freebsd常用命令
  • 移动u盘的作用
  • wcu.exe是什么
  • win7 便签
  • win8怎么进去安全模式
  • win10如何删除windows账户
  • win7进入dos的方法
  • 浅谈特殊儿童的融合教育论文
  • 设计模式三种
  • redis开机自动启动linux
  • python中yield用法
  • android定时器的使用
  • 区分例假和怀孕前乳头疼
  • python2.7多进程
  • Node.js中的全局对象有
  • linux shell脚本攻略(第3版)
  • 命令行执行bat文件
  • 留抵税额过多怎么办
  • 河南地税网上个税怎么交
  • 国家税务局广东省电子税务局下载
  • 江苏发票真伪查询系统官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设