成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SQL Server處理空值操作中的3大問題有哪些?

數據庫 SQL Server
我們今天主要向大家講述的是SQL Server處理空值的實際操作過程中,我們所要涉及的三個相關問題,以下就是文章的主要內容描述。

以下的文章主要向大家描述的是SQL Server處理空值的實際操作過程中我們所要涉及的三個問題,我們大家都知道數據完整性是任何數據庫系統要保證的重點。不管系統計劃得有多好,空數據值的問題總是存在。

本文探討了在SQL Server中處理這些值時涉及的3個問題:計數、使用空表值以及外鍵處理。

用COUNT(*)處理空值

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

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

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

SET NOCOUNT>恰當使用空表值

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

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

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

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

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

但在以下代碼中,要同時從父表和子表選擇值。雖然父表不包含空值,但在子表引用了父表的那個列中,將允許一個空值。

然后丟棄所有表,清除這個演示所用的數據庫對象。

 

  1. SELECT * FROM ChildGOSELECT * FROM ParentGODROP TABLE Child, ParentGO 

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

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

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

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

SQL Server中處理空值時涉及的三問題

空值是所有數據庫開發者和管理員都要遇到的。所以,要想開發成功的應用程序,必須知道如何處理這些值。本文和你分享了空值處理的一些技巧和技術。

 

責任編輯:佚名 來源: 互聯網
相關推薦

2011-04-01 14:14:42

SQL Server空值

2011-03-11 14:36:56

SQL Server數

2010-06-17 15:17:24

SQL Server

2010-06-28 14:01:37

SQL Server數

2010-07-23 09:15:08

安裝SQL Serve

2010-07-19 10:55:07

SQL Server

2010-07-12 14:13:15

SQL Server開

2015-04-22 12:08:16

JAVAMap問題

2009-08-25 09:29:18

維護代碼

2009-12-08 14:42:30

Windows 7操作

2010-07-06 10:25:16

SQL Server空

2011-02-22 09:34:33

2010-07-14 11:35:57

SQL Server修

2010-07-12 10:48:21

SQL Server數

2010-06-17 16:30:23

SQL Server數

2010-07-06 17:16:43

SQL Server視

2010-07-20 11:26:08

SQL Server阻

2010-07-20 11:31:25

SQL Server避

2010-07-08 13:13:14

清除SQL Serve

2010-06-29 17:45:22

SQL Server
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美在线视频网 | 欧美日韩在线免费观看 | 美女黄18岁以下禁止观看 | 综合二区 | 亚洲高清av在线 | 91久久视频 | 国产精品久久久久久高潮 | 午夜成人在线视频 | 人人干人人干人人 | 日干夜操 | 免费观看一级毛片 | 四色成人av永久网址 | 国产精品99久久久久久www | 九九热精品视频 | 欧美精选一区二区 | 日韩在线中文 | 精品国产18久久久久久二百 | 一区二区三区视频在线 | 国产欧美一区二区久久性色99 | 91天堂 | 免费一级黄色电影 | 日韩一区二区三区精品 | 黄色小视频大全 | 国产精品视频一区二区三区 | 精品久久一区二区三区 | 成人亚洲视频 | 成人性视频在线播放 | 一区二区亚洲 | 波多野结衣二区 | 一级毛片在线播放 | 午夜电影在线播放 | 欧美日韩一 | 午夜欧美一区二区三区在线播放 | 涩涩视频网站在线观看 | 91av视频在线观看 | 日韩和的一区二区 | a级毛片国产 | 久久新 | 久久综合一区 | 三级黄色片在线播放 | 超碰成人在线观看 |