欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MS Server和Oracle中對(duì)NULL處理的一些細(xì)節(jié)差異

 更新時(shí)間:2009年06月05日 23:49:44   作者:  
SQL Server和Oracle中對(duì)插入數(shù)據(jù)值包含空的處理有所差異,在SQL Server中,我們可以把表字段設(shè)計(jì)為非空,但我們?nèi)匀豢梢酝ㄟ^(guò)下面語(yǔ)句執(zhí)行插入操作
INSERT INTO Table (TestCol) VALUES(‘')
其中的TestCol字段,其實(shí)在設(shè)計(jì)的時(shí)候,已經(jīng)被設(shè)計(jì)為NOT NULL,但我們需要了解一點(diǎn),在sql server中,null和空格是不同的,也就是說(shuō),上面的語(yǔ)句插入的是一個(gè)空,但并不是NULL,只有當(dāng)我們的插入語(yǔ)句中沒(méi)有該字段的時(shí)候,才會(huì)被認(rèn)為違反非空的條件約束,這里可能用英文的表達(dá)可能會(huì)更加的準(zhǔn)確一些,如果把NULL翻譯成“空”的話,可能就會(huì)很容易搞混了。此外,如果我們的字段是INT類(lèi)型的話,如果我們插入空的話,會(huì)得到一個(gè)0,也就是說(shuō),MS Sql server會(huì)自動(dòng)幫我們處理對(duì)空格的轉(zhuǎn)化。

但是在Oracle中,這個(gè)便利便不存在咯,我們必須嚴(yán)格按照規(guī)則來(lái)進(jìn)行插入,也就是說(shuō),我們?cè)傧胍晥D通過(guò)插入空來(lái)滿足NOT NULL的設(shè)計(jì)約束,已經(jīng)不能成功啦,我們必須插入實(shí)實(shí)在在的內(nèi)容才能符合NOT NULL的約束。

像類(lèi)似地一些細(xì)節(jié)在我們?cè)O(shè)計(jì)既要滿足MS Sql,又要滿足Oracle的系統(tǒng)地時(shí)候,尤其會(huì)成為我們需要處理的家常便飯,這一方面要求我們要嚴(yán)格規(guī)范我們的sql腳本,再者也要對(duì)程序處理語(yǔ)句進(jìn)行嚴(yán)格的條件控制才行,否則類(lèi)似地問(wèn)題在聯(lián)調(diào)的時(shí)候會(huì)讓我們陷入一個(gè)接著一個(gè)的噩夢(mèng)~

相關(guān)文章

最新評(píng)論