位置: 编程技术 - 正文

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

发布时间:2024-02-26
表结构如下面代码创建 解决方案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语句是什么)

  • 房产税的纳税义务人是征税范围内房屋产权所有人
  • 无票收入需要缴纳所得税吗
  • 超市的库存商品分类混乱怎么看出来的
  • 文化事业费是什么意思
  • 一般纳税人拿到小规模的专票
  • 预付账款收不到发票汇算清缴调整增吗
  • 几个月以前发现便血是肠癌吗
  • 合同印花税用不用计提
  • 委托加工应税消费品消费税的账务处理是怎样的?
  • 进口材料支付的关税
  • 单位向个人购买材料没有发票
  • 个人出租住房如何开票
  • 小规模纳税人的认定标准是什么
  • 发票的受票方是什么
  • 增值税普通发票和电子普通发票的区别
  • 债券的实际发行价格为什么
  • 暂估成本和实际成本的分录
  • 新注册公司什么时候报个税
  • 资产负债应付账款怎么算
  • 用于研发的设备如何折旧
  • 小型微利企业的企业所得税优惠政策
  • 贷款服务开票开具要求
  • 网页显示不全怎么回事
  • 怎么防止电脑被别人远程控制
  • 明股实债和明债实股
  • 5000以下的固定资产当月一次性扣除怎么申报
  • php自动跳转页面
  • win7旗舰版叫啥
  • ospf区域间路由和区域内路由
  • element-ui table使用type=‘selection‘复选框全禁用-全选禁用
  • echarts-gl
  • 专票如何申领
  • 史上最强i3
  • vue动态绑定背景图
  • php截取字符串几种方式
  • 命令行查看git版本
  • java微信公众号开发源码
  • 报销用别的发票抵用怎么入账
  • 推广服务费可以抵扣吗
  • nosql sql
  • 房屋租赁如何入账
  • 企业借款利息计入什么科目
  • 小规模交社保有人数限制吗
  • 待处理财产损益是什么意思
  • 增值税普通发票查询
  • 临时设施的种类有哪些
  • 预付一年的房租怎么做账
  • 公司宿舍楼出租让我当甲方违法吗
  • 增资减资改变股东要交税吗
  • 固定资产盘亏账务处理的问题
  • 销售费用进项税抵扣
  • 一般纳税人取得普票怎么做账
  • 企业会计制度对固定资产无入账价值怎么入账
  • 暂估入库做账
  • 注册资本转出可以吗
  • 为什么一般纳税人可以选择简易计税
  • 建筑公司异地施工
  • 境外机构境内外汇账户管理办法
  • win8系统如何关机
  • win8应用程序无法正常启动
  • u盘安装mac系统
  • windows10磁盘
  • windows7怎么给电脑加密码
  • win10mobile官网
  • windows如何编辑内容
  • javascript怎么学
  • 简单的安卓程序
  • python 先序遍历
  • js按位运算符
  • python 进阶
  • 解决脱发的8个方法
  • vue实现数据导出为excel
  • javascript 自动执行
  • 6种javascript显示当前系统时间代码
  • 开票系统开不了票
  • 以前期间进项税额转出 怎样操作
  • 深圳买新房契税一般什么时候交比较好
  • 宣传费是否要交消费税
  • 单位轿车出售怎么处理
  • 陕西的发票在哪里领取
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号