2007-03-29

探讨SQL Server数据库中空值处理技巧

来源: 本站收集整理 作者:佚名 评论 0 条
 
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

在可以为空的外键中检查数据的有效性

假如由两个列共同组成主键,而且一个子表将主键作为可为空值的外键来继续,就可能得到错误的数据。可在一个外键列中插入有效的值,但在另一个外键列中插入空值。然后,可添加一个数据表检查约束,在可为空的外键中检查数据的有效性。

任何多列外键都可能碰到同样的问题。所以,你需要添加一个检查约束来检测异常。最初,检查约束将检查构成外键的所有列中可能为空的值。检查约束还要检查这些列中不能为空的值。如两个检查都通过,问题就解决了。

以下示范脚本展示了这样的一个异常,以及如何用检查约束来纠正它。

空值是所有数据库开发者和治理员都要碰到的。所以,要想开发成功的应用程序,必须知道如何处理这些值。本文和你分享了空值处理的一些技巧和技术。


共2页: 上一页 [1] 2 下一页
(本文仅表明作者个人观点,不代表本站及其管理员立场.) 推荐 收藏 投稿 打印 返回 关闭
上一篇:MS SQL Server查询优化方法  
下一篇:优化SQL Server数据库
    评论加载中…
 推荐文章
     

网站首页  -  网站地图 -   站长论坛  -  网站投稿  -    -  网站管理
Copyright © 2008 芜湖站长站 All Rights Reserved 皖ICP备07500611号