国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關注微信公眾號

在SQL Server中處理空值時涉及的三個問題
2007-10-31   賽迪網

這篇文章主要介紹了在SQL Server中處理空值時所涉及的3個問題:計數、使用空表值以及外鍵處理。

用COUNT(*)處理空值

大多數集合函數都能在計算時消除空值;COUNT函數則屬于例外。對包含空值的一個列使用COUNT函數,空值會從計算中消除。但假如COUNT函數使用一個星號,它就計算所有行,而不管是否存在空值。

如果希望COUNT函數對給定列的所有行(包括空值)進行計數,請使用ISNULL函數。ISNULL函數會將空值替換成有效的值。

事實上,對集合函數來說,如果空值可能導致錯誤結果,ISNULL函數就非常有用。記住在使用一個星號時,COUNT函數會對所有行進行計算。下例演示了空值在AVG和COUNT集合函數中的影響:

SET NOCOUNT ON
    GO
    CREATE TABLE xCount
    (pkey1 INT IDENTITY NOT NULL
        CONSTRAINT pk_xCount PRIMARY KEY,
    Col1 int NULL)
    GO
    INSERT xCount (Col1) VALUES (10)
    GO
    INSERT xCount (Col1) VALUES (15)
    GO
    INSERT xCount (Col1) VALUES (20)
    GO
    INSERT xCount (Col1) VALUES (NULL)
    GO
    SELECT AVG(Col1) AvgWithoutIsNullFunctionOnCol1,
    AVG(ISNULL(Col1,0)) AvgWithIsNullFunctionOnCol1,
    COUNT(Col1) NoIsNullFunctionOnCol1 ,
    COUNT(ISNULL(Col1,0)) UsingIsNullFunctionOnCol1,
    Count(*) UsingAsterisk
    FROM xCount
    GO
    DROP TABLE xCount
    GO
    
 OUTPUT:
AvgWOIsNullFnctnCol1 AvgWIsNullFnctnCol1 WOIsNullFnctnCol1
WIsNullFnctnCol1 UsingAsterisk
 ---------------- ------------- -------------- ------------  

15             11                3           4         4

恰當使用空表值

SQL Server可能出現一種特殊情況:在引用父表的一個表中,因為不允許空值,所以“聲明引用完整性”(DRI)可能不會得到強制。即使父表不包含空值,在子表引用了父表主鍵約束或惟一約束的列中,也可能包含空值。

假如來自父表的值目前未知,就不會有任何問題。例如,父表可能是一個地址表,而子表可能包含聯系信息。由于許多原因,可能暫時不知道要傳給父表的聯系地址。這是一種基于時間的問題,空值在其中或許是合適的。

如下例所示,我們創建父表,并在其中插入兩個值。

SET NOCOUNT ON
GOCREATE TABLE Parent(pkey1 INT IDENTITY NOT NULL    
CONSTRAINT pkParent PRIMARY KEY,col1 INT NULL)GOINSERT 
Parent (col1) VALUES (284)GOINSERT 
Parent (col1) VALUES (326)GO

以下代碼則創建子表,并在引用父表的列中插入一個空值。

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

在可以為空的外鍵中檢查數據的有效性

如果由兩個列共同組成主鍵,而且一個子表將主鍵作為可為空值的外鍵來繼承,就可能得到錯誤的數據。可在一個外鍵列中插入有效的值,但在另一個外鍵列中插入空值。然后,可添加一個數據表檢查約束,在可為空的外鍵中檢查數據的有效性。

任何多列外鍵都可能遇到同樣的問題。所以,你需要添加一個檢查約束來檢測異常。最初,檢查約束將檢查構成外鍵的所有列中可能為空的值。檢查約束還要檢查這些列中不能為空的值。如兩個檢查都通過,問題就解決了。

以下示范腳本展示了這樣的一個異常,以及如何用檢查約束來糾正它。

熱詞搜索:

上一篇:關于 vista-用QQ
下一篇:輕松掌握 DB2中應當如何進行數據移動

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
中文字幕欧美激情| 一区二区成人在线视频 | 亚洲精品乱码久久久久久黑人| 91麻豆精品国产91久久久资源速度| av中文字幕亚洲| 国产成人在线视频网站| 日韩电影免费一区| 首页综合国产亚洲丝袜| 亚洲夂夂婷婷色拍ww47| 亚洲精品视频在线看| 国产精品美女久久久久久久| 日韩一区二区三区视频在线| 欧美日韩黄色影视| 欧美在线你懂得| 91浏览器打开| 99久久精品国产导航| 不卡的电影网站| 成人激情图片网| 国产一区二三区| 狠狠色丁香久久婷婷综合_中| 久久99精品国产麻豆婷婷| 一区二区三区不卡视频在线观看| 亚洲天堂成人在线观看| 亚洲精品伦理在线| 亚洲一区二区三区四区在线| 亚洲永久精品国产| 一区二区三区日韩在线观看| 亚洲蜜臀av乱码久久精品| 中文字幕在线不卡| 亚洲精品五月天| 亚洲主播在线观看| 天天操天天综合网| 日本美女一区二区| 美女在线一区二区| 国产精品一线二线三线| 成人午夜短视频| 国产一区不卡在线| 国产成人av一区| 99久久99久久综合| 欧美综合在线视频| 欧美精品vⅰdeose4hd| 精品美女一区二区| 久久久久9999亚洲精品| 国产精品全国免费观看高清| 成人欧美一区二区三区在线播放| 中文字幕第一区| 亚洲精品videosex极品| 亚洲va欧美va天堂v国产综合| 日韩精品福利网| heyzo一本久久综合| 337p亚洲精品色噜噜| 中文字幕欧美激情| 亚州成人在线电影| 成人午夜精品在线| 日韩天堂在线观看| 亚洲精品免费在线观看| 蜜桃av噜噜一区| 99re热这里只有精品免费视频| 日韩午夜三级在线| 亚洲影视资源网| 成人蜜臀av电影| 精品国精品国产| 天天色 色综合| 91麻豆视频网站| 国产色婷婷亚洲99精品小说| 日韩精品乱码免费| 在线一区二区观看| 国产精品二区一区二区aⅴ污介绍| 久久精品国产亚洲5555| 欧美日韩一区二区在线观看| 日本一区二区视频在线观看| 蜜臀久久久久久久| 欧美系列在线观看| 中文字幕一区在线观看| 国产精品1区2区| 欧美一区二区三区在线观看视频 | 三级成人在线视频| 91在线丨porny丨国产| 久久亚洲精品小早川怜子| 亚洲一区二区精品久久av| 99riav久久精品riav| 国产欧美一区视频| 狠狠色综合日日| 日韩亚洲欧美中文三级| 偷拍自拍另类欧美| 欧美日免费三级在线| 伊人婷婷欧美激情| 91女人视频在线观看| 国产精品色一区二区三区| 国产一区二区三区久久久| 日韩一区二区电影网| 日韩激情视频在线观看| 欧美老女人在线| 水蜜桃久久夜色精品一区的特点| 欧美三电影在线| 午夜视频在线观看一区二区三区 | 亚洲欧美一区二区三区孕妇| 国产成人免费视频一区| 久久久久久久久97黄色工厂| 经典三级视频一区| 久久丝袜美腿综合| 国产精品亚洲视频| 久久久国际精品| 国产99精品在线观看| 欧美激情综合五月色丁香 | 欧美军同video69gay| 亚洲高清免费一级二级三级| 欧美日韩亚洲另类| 五月天激情综合| 欧美一卡二卡三卡| 精品中文字幕一区二区小辣椒| 精品免费日韩av| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 亚洲尤物在线视频观看| 在线观看日韩精品| 天堂一区二区在线| 欧美一级片在线| 久久成人久久爱| 日本一区二区三区电影| 99久久综合国产精品| 曰韩精品一区二区| 在线播放中文一区| 久久99精品视频| 欧美韩日一区二区三区| 91原创在线视频| 亚洲sss视频在线视频| 日韩欧美中文字幕精品| 国产一区不卡在线| 亚洲免费观看在线观看| 欧美日韩高清在线| 久久 天天综合| 亚洲欧美在线视频| 欧美性生活久久| 精品一区二区三区免费毛片爱| 国产视频一区在线播放| 97久久精品人人爽人人爽蜜臀| 亚洲va国产天堂va久久en| 欧美电视剧在线观看完整版| 国产99精品国产| 亚洲一区二区黄色| 26uuu另类欧美| 99久久精品国产麻豆演员表| 日韩影院精彩在线| 中文字幕乱码日本亚洲一区二区| 色婷婷久久一区二区三区麻豆| 三级亚洲高清视频| 中文字幕不卡在线播放| 欧美猛男超大videosgay| 国产在线看一区| 亚洲一区成人在线| 久久久三级国产网站| 91香蕉视频污在线| 麻豆精品视频在线观看视频| 国产精品久久久久影视| 欧美乱妇23p| 成人av综合一区| 奇米影视一区二区三区| 亚洲欧美偷拍卡通变态| 欧美一区二区三区视频| 91视频国产资源| 精品一区二区三区视频| 亚洲国产一区在线观看| 国产亚洲精品aa| 56国语精品自产拍在线观看| 波多野结衣中文字幕一区二区三区| 青青草成人在线观看| 一区二区三区欧美日韩| 国产日韩欧美一区二区三区乱码| 欧美日韩五月天| 99久久免费视频.com| 精品亚洲免费视频| 亚洲国产欧美日韩另类综合| 欧美国产一区二区| 欧美电影免费观看高清完整版在线| 一本到三区不卡视频| 国产成人亚洲综合a∨婷婷图片| 日韩主播视频在线| 一区二区三区中文字幕| 国产精品色在线观看| 精品美女在线观看| 777久久久精品| 欧美最猛性xxxxx直播| 欧美日韩一级视频| 9l国产精品久久久久麻豆| 国产精品一区专区| 精品一区在线看| 奇米精品一区二区三区在线观看| 亚洲国产成人porn| 亚洲免费在线电影| 国产精品国产三级国产aⅴ原创 | 欧美日韩国产经典色站一区二区三区 | 国产久卡久卡久卡久卡视频精品| 青草av.久久免费一区| 五月综合激情网| 亚洲va欧美va人人爽午夜| 亚洲精品一卡二卡| 伊人夜夜躁av伊人久久| 亚洲品质自拍视频| 亚洲欧美另类小说| 亚洲视频 欧洲视频|