解讀在SQL Server中處理空值時涉及的三個問題(2)_Mssql數(shù)據(jù)庫教程
推薦:如何使用 SQL Server 數(shù)據(jù)庫嵌套子查詢很多SQL Server程序員對子查詢(subqueries)的使用感到困惑,尤其對于嵌套子查詢(即子查詢中包含一個子查詢)�,F(xiàn)在,就讓我們追本溯源地探究這個問題。 有兩種子查詢類型:標準和相關。標準子查詢執(zhí)行一次,結果反饋給父查詢。相關子查詢每行執(zhí)行一次,由
以下代碼則創(chuàng)建子表,并在引用父表的列中插入一個空值。
|
以下為引用的內(nèi)容: 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 |
但在以下代碼中,要同時從父表和子表選擇值。雖然父表不包含空值,但在子表引用了父表的那個列中,將允許一個空值。
然后丟棄所有表,清除這個演示所用的數(shù)據(jù)庫對象。
SELECT * FROM ChildGOSELECT * FROM ParentGODROP TABLE Child, ParentGO
在可以為空的外鍵中檢查數(shù)據(jù)的有效性
如果由兩個列共同組成主鍵,而且一個子表將主鍵作為可為空值的外鍵來繼承,就可能得到錯誤的數(shù)據(jù)�?稍谝粋外鍵列中插入有效的值,但在另一個外鍵列中插入空值。然后,可添加一個數(shù)據(jù)表檢查約束,在可為空的外鍵中檢查數(shù)據(jù)的有效性。
任何多列外鍵都可能遇到同樣的問題。所以,你需要添加一個檢查約束來檢測異常。最初,檢查約束將檢查構成外鍵的所有列中可能為空的值。檢查約束還要檢查這些列中不能為空的值。如兩個檢查都通過,問題就解決了。
以下示范腳本展示了這樣的一個異常,以及如何用檢查約束來糾正它。

分享:如何在SQL Server中去除表中不可見字符以下的實例為去除指定表中數(shù)據(jù)類型是VARCHAR,CHAR,NVARCHAR的字段值中的不可見字符。 注釋:此處只去掉前后的不可見字符,不包括中間的字符,而且沒有區(qū)分中文。 在使用前需要指定對應要修改的表名,并且需要在對應數(shù)據(jù)庫下執(zhí)行; SET NOCOUNT ON DECLARE @T
- sql 語句練習與答案
- 深入C++ string.find()函數(shù)的用法總結
- SQL Server中刪除重復數(shù)據(jù)的幾個方法
- sql刪除重復數(shù)據(jù)的詳細方法
- SQL SERVER 2000安裝教程圖文詳解
- 使用sql server management studio 2008 無法查看數(shù)據(jù)庫,提示 無法為該請求檢索數(shù)據(jù) 錯誤916解決方法
- SQLServer日志清空語句(sql2000,sql2005,sql2008)
- Sql Server 2008完全卸載方法(其他版本類似)
- sql server 2008 不允許保存更改,您所做的更改要求刪除并重新創(chuàng)建以下表
- SQL Server 2008 清空刪除日志文件(瞬間日志變幾M)
- Win7系統(tǒng)安裝MySQL5.5.21圖解教程
- 將DataTable作為存儲過程參數(shù)的用法實例詳解
Mssql數(shù)據(jù)庫教程Rss訂閱編程教程搜索
Mssql數(shù)據(jù)庫教程推薦
猜你也喜歡看這些
- 利用Xtrabackup工具備份及恢復(MySQL DBA的必備工具)
- MySQL 5.6 如何更改安全的處理密碼探討
- 解決bash: mysql: command not found 的方法
- 在SQL Server的try...catch語句中獲取錯誤消息代碼的的語句
- SQL分組排序去重復的小實例
- MYSQL SET類型字段的SQL操作知識介紹
- 解析mysql中:單表distinct、多表group by查詢?nèi)コ貜陀涗?/a>
- 網(wǎng)頁模板MySQL出現(xiàn)Can't create/write to file 'C:\Windows\TEMP\#sql_990_0.MYI解決辦法
- MySQL:數(shù)據(jù)庫知識點
- SQL提示Login failed for user#039;sa#039;錯誤的解決方案
- 相關鏈接:
- 教程說明:
Mssql數(shù)據(jù)庫教程-解讀在SQL Server中處理空值時涉及的三個問題(2)
。