位置: 编程技术 - 正文

SQL Server如何保证可空字段中非空值唯一(sqlserver如何保留两位小数)

编辑:rootadmin
表结构如下面代码创建 解决方案1: 对于这个问题,大家的第一个想法可能是:在Caption这个字段上面加一个唯一键不就可以了吗?好,我们按着这个思路做下去,先创建唯一索引。 索引创建好了,我们来测试下效果 运行之后我们会收到下面的错误信息: 以下为引用的内容: 消息 ,级别 ,状态 1,第 1 行 不能在具有唯一索引 'un_test_tb' 的对象 'dbo.test_tb' 中插入重复键的行。 语句已终止。 所以该解决方案是不行的。 解决方案2: 添加约束,让SQL Server在插入数据的时候,先验证下已有数据中是否有现在要插入的这个值。由于这个约束不是简单的一个运算,因此我们先创建一个函数,然后再在约束中调用这个函数。 创建验证逻辑函数: 在约束中引用函数: 现在来测试下效果。先来测试NULL值 可以成功运行,而且也出了多行为NULL的情况。现在再来测试不为空的插入情况。 结果是在第三条语句的时候报错了,表中的Caption字段也有‘AAA'和‘BBB'了,这也正好是我们要的结果。 所以解决方案2是正确的。但是为了这么一个小小功能,就写这么长一段东西是不是太繁琐了呢?我们来看下面的解决方案。 解决方案3:(只适用于SQL Server ) SQL Server 中有了一个优雅的解决方案,那就是筛选索引。筛选索引是一种经过优化的非聚集索引,尤其适用于涵盖从定义完善的数据子集中选择数据的查询。筛选索引使用筛选谓词对表中的部分行进行索引。有了筛选索引,我们只需要写一条语句就达到上面的效果。 再用上面的一些测试语句来测试的话,会发现完全是达到了我们的要求。这个方案的唯一缺点就是该语句只有SQL Server 支持。不知道各位有没有又优雅又适用于各个版本的SQL Server的解决方案,望不胜赐教。

推荐整理分享SQL Server如何保证可空字段中非空值唯一(sqlserver如何保留两位小数),希望有所帮助,仅作参考,欢迎阅读内容。

SQL Server如何保证可空字段中非空值唯一(sqlserver如何保留两位小数)

文章相关热门搜索词:sql server如何保存文件,sql server如何保存表,sql server如何保存文件,sql server如何保存为.sql文件,sql server如何保存文件,sql server如何保存数据库,sql server如何保存表,sql server如何保存表,内容如对您有帮助,希望把文章链接给更多的朋友!

一些有用的sql语句整理 推荐收藏 1、说明:创建数据库CREATEDATABASEdatabase-name2、说明:删除数据库dropdatabasedbname3、说明:备份sqlserver---创建备份数据的deviceUSEmasterEXECsp_addumpdevice'disk','testB

sqlserver 中每个服务器角色的解释 固定服务器角色描述sysadmin在SQLServer中进行任何活动。该角色的权限跨越所有其它固定服务器角色。serveradmin配置服务器范围的设置。setupadmin添加和删

一些SQLServer存储过程参数及举例 MicrosoftincludedseveralhundredstoredproceduresinthevariousversionsofMicrosoftSQLServerandithasdocumentedagoodpercentageofthem.Butmanystoredproceduresremainundocumented.SomeareusedwithintheEnterpriseM

标签: sqlserver如何保留两位小数

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

上一篇:SQLSERVER服务手工启动 批处理文件(sqlserver r服务)

下一篇:一些有用的sql语句整理 推荐收藏(一些有用的sql语句是什么)

  • 代扣个人借款分录
  • 非居民个人利息所得个税税率
  • 分公司可以计提安全生产费吗
  • 签章是签字还是盖章z还是手印
  • 工程款的税是怎么扣除的?
  • 软件生产企业
  • 上月税没报,可以开发票吗
  • 辞退福利应该计入什么科目
  • 服务型企业管理体系
  • 收到个人实收资本怎么做账
  • 收代扣代收代征手续费会计分录
  • 借款支付工程款合法吗
  • 应交税费属于什么费用科目
  • 产品调试费计入什么科目
  • 未实缴出资的股权转让账务处理
  • 收到快递关税做什么科目
  • 发票丢失登报声明怎么写
  • 小规模企业企业所得税优惠政策2022年
  • 增值税专票可以重开吗
  • 报销误餐费会计怎么做账
  • 超过五年的未弥补亏损怎么处理?
  • 出口关税的税率
  • 银行贷款核销后还产生利息吗
  • 安全生产费开工前支付
  • 土地拍卖资金交到哪里
  • thinkphp框架介绍
  • 苹果电脑连接打印机打印不出来
  • 工程机械设备租赁价格
  • 销售折让负数会计分录
  • 工商年检需准备什么资料
  • 电脑怎样设置共享文件夹
  • 红字发票如何开具
  • 开票缴纳的1%个税是多少
  • php常用类
  • nodejs安装及环境配置win10
  • 支付中介费和物业费比例
  • 成本票和费用票一样吗
  • 普通发票不满8项怎么开明细
  • c语言怎么给函数传递数组
  • vue实现注册
  • 员工加班打车费进项可以抵扣吗
  • 发票识别
  • 个体户逾期未报年报后补报了怎么办
  • 纳税人按照月度或者季度的实际利润额预缴有困难的
  • 库存现金的使用限额规定
  • 母公司与子公司内部合作协议
  • 需要登记的权利
  • 完全删除sql server2012
  • 收到的加盟费要交税吗
  • 公司两个股东变更为一个股东,需要交税么
  • 单位收到社保补贴会计怎样处理
  • 出口报关金额怎么算
  • 餐费开增值税专用发票
  • 销售产品的软件平台
  • 残保金超比例奖励政策
  • 非流动资产基金和专用基金
  • 哪些可以做进项税
  • 期末未缴税额为正是什么意思
  • 印花税是本月交上个月的吗
  • 会计凭证编制程序和用途
  • 银行信贷人员岗位职责
  • 账薄的使用规则
  • MySQL存储过程与触发器
  • mysql b+树节点大小
  • windows 10测试版
  • win7系统桌面图标设置
  • winxp纯净版系统
  • vcdcontroltool
  • 一岁的宝宝可以喝枸杞水吗
  • linux学习思路
  • 体验Win8灵活分屏贴靠功能图文介绍
  • opengl调色
  • html超链接打开本地文件
  • unity ctrl
  • javascript语法总结
  • javascript的核心组成部分
  • 企业收取承包费如何缴纳增值税
  • 城市配套费需要缴纳契税
  • 海口社保一个月多少钱
  • 纳税申报过了申报期未申报怎么办
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设