在SQL Server中处理空值时涉及的三个问题(2)
发布时间:2009-02-05 15:30:00
标签:SQL,Serverv,处理空值时涉及的三个问题
以下代码则创建子表,并在引用父表的列中插入一个空值。
CREATE TABLE Child
(pkey1 INT IDENTITYCONSTRAINT pkChild
PRIMARY KEY,Parentpkey1 INT NULLCONSTRAINT fkChildParent
FOREIGN KEYREFERENCES Parent(pkey1),col1 INT NULL)
GOINSERT Child (Parentpkey1, col1) VALUES (null,2)GO
但在以下代码中,要同时从父表和子表选择值。虽然父表不包含空值,但在子表引用了父表的那个列中,将允许一个空值。
然后丢弃所有表,清除这个演示所用的数据库对象。
SELECT * FROM ChildGOSELECT * FROM ParentGODROP TABLE Child, ParentGO
在可以为空的外键中检查数据的有效性
如果由两个列共同组成主键,而且一个子表将主键作为可为空值的外键来继承,就可能得到错误的数据。可在一个外键列中插入有效的值,但在另一个外键列中插入空值。然后,可添加一个数据表检查约束,在可为空的外键中检查数据的有效性。
任何多列外键都可能遇到同样的问题。所以,你需要添加一个检查约束来检测异常。最初,检查约束将检查构成外键的所有列中可能为空的值。检查约束还要检查这些列中不能为空的值。如两个检查都通过,问题就解决了。
以下示范脚本展示了这样的一个异常,以及如何用检查约束来纠正它。


猜你喜欢
- PyQt5工具栏控件QToolBar介绍QToolBar控件是由文本按钮,图标或其他小控件按钮组成的可移动面板,通常位于菜单栏下方QTool
- (1) 单人脸情况import cv2import dlibpath = "1.jpg"img = cv2.imread
- select a.f_username from ( SELECT /*+parallel(gu,4)*/distinct gu.f_use
- 如下所示:# -*- coding:utf-8 -*-import sysreload(sys)sys.setdefaultencoding
- 引言在 Golang 中,将 URL 打包用于从服务器获取数据非常重要。只需了解您是否正在处理任何应用程序并且您想从任何外部位置或服务器获取
- 目录创建django项目使用模型的url.py加载静态文件页面跳转创建数据库模型提交表单提交ajax提交创建django项目创建项目的命令行
- 这本入门手册是否合适你?我只想告诉你我非常喜欢这本书。我对Microsoft Access的经验足以让我跳过这本傻瓜系列教材,但是实际情况是
- 1、引言小丝:鱼哥,还记得上次写的把数据库的查询结果写入到excel这个脚本不。小鱼:嗯… 可以说不记得吗小丝:我猜你
- 为何使用函数最大化代码的重用和最小化代码冗余流程的分解编写函数>>def语句在Python中创建一个函数是通过def关键字进行的
- 要向数据库中添加超级链接,要经过两个步骤,一是在表中定义字段类型为“超级链接”,一是向此字段中添加数据。要在表中定义字段类型为“超级链接”,
- 英文的文档在这里,详细全面,本文仅为自己的学习笔记,只是试图通过转述加深自己的学习,不详细不全面。由于浏览器之间的差异,所以在JS中监听事件
- 代码import imutilsimport cv2image = cv2.imread('') # translate t
- 秒杀活动可以说在互联网上随处可见,从12306抢票,到聚划算抢购,我们生活的方方面面都可以看到秒杀的身影。秒杀的架构设计也是对于一个架构师架
- 实际项目中遇到python模块相互引用问题,查资料,终于算是弄明白了。首先交叉引用或是相互引用,实际上就是导入循环,关于导入循环的详细说明,
- 科讯sql商业版中用到的ajax空间与分页函数,他们的js代码学习是非常不错的//ajax 控件 function Pa
- 事情是这样的,博主初学python和机器学习,在跑一个代码的时候被提示出现以下错误:(能被提示出现这个错误,可见确实是初学了!)图1:跑代码
- $forceUpdate()的使用在Vue官方文档中指出,$forceUpdate具有强制刷新的作用。那在vue框架中,如果data中有一个
- 本文实例讲述了Python使用urllib2模块实现断点续传下载的方法。分享给大家供大家参考。具体分析如下:在使用HTTP协议进行下载的时候
- 1 端口映射举个例子来说明一下端口映射的作用。有A、B、C三台计算机,A、B互通,B、C互通,但是A、C不通,这个时候在C上开了一个Web服
- 本文实例讲述了Python实现的寻找前5个默尼森数算法。分享给大家供大家参考,具体如下:找前5个默尼森数。若P是素数且M也是素数,并且满足等