我通常可以在SO中找到我的問題的答案,但我無法找到關於此主題的信息(可能是我做錯了問題)。背景:六年前,一些開發人員將Visual FoxPro數據庫升級到SQL Server 2005(表結構和數據)。該過程引入了現在我試圖修復的各種錯誤,以便改進數據結構和性能(將TEXT更改爲VARCHAR(MAX),某些浮點更改爲DECIMAL,刪除未使用的列......)SQL列中char/varchar的缺省值:空格(1)或空字符串?
我之前的任務是:找到所有默認約束分配給所有表中的所有列,其對應的默認對象並沒有sys.default_constraints
存在並修復它們分配一個空字符串char
/varchar
,0
到Decimal
,等...(更多我的腳本工作很順利,到目前爲止這麼好。
只是爲了好玩我執行了SP_HELP
在其中一個表中驗證固定列,但注意到我沒有更改的char
列的默認值爲(space((1)))
,而不是我正在使用的普通空字符串''
。
我的問題是:我應該保留這些列完好無缺的默認值(space((1)))
?或者我應該將其更改爲''
(更改腳本來做到這一點非常簡單)?
我敢打賭,我應該改變它(調用每個插入的函數不能自由),但要先確定。
PD:我不是DBA,而是一個不時需要使用DBA帽子的開發人員。
我讚揚你的努力,重構你的數據庫,使之更接近理想。 –
我想在過去的2年裏做到這一點,但沒有時間,總是有一場火災,我必須先爭取:S – Roimer