0
A
回答
0
不,只有ALTER
沒有辦法做到這一點。像身份屬性,排序規則和其他一些位一樣,列是否應用ANSI填充不是事後可以改變的東西。
你仍然可以做沒有完全建立一個新表,但並非沒有創造新的列:
BEGIN TRANSACTION;
SET ANSI_PADDING OFF;
ALTER TABLE T ADD C_badpad CHAR(16) NULL;
EXEC('UPDATE T SET C_badpad = C;')
EXEC sp_rename 'T.C', 'C_old';
EXEC sp_rename 'T.C_badpad', 'C';
EXEC('ALTER TABLE T DROP COLUMN C_old;')
ROLLBACK; -- COMMIT;
但是,如果你珍惜你的理智,不這樣做。重寫需要的客戶端代碼,以便自己進行適當的修整,因爲具有ANSI_PADDING
設置爲OFF
的能力已被棄用,這是有充分理由的。現在幾乎所有東西都預計ANSI_PADDING
爲ON
,因此如果某個特定列的值爲OFF
,可能會破壞不期望的客戶端。即使你現在認爲你正在解決一個問題,你將來可能會面臨更大的問題。
ANSI_PADDING
只是作爲一個很老的軟件的兼容性調整,只是不知道更好的(並可能希望整個數據庫創建與ANSI_PADDING = OFF
)。不要在新開發中使用它,當然不要只用於一列。
相關問題
- 1. Java ANSI X923填充
- 2. ALTER COMPILE不填充DBA_ERRORS表
- 3. 如何使用Unity填充設置?
- 4. 如何關閉自動填充/自動填充SSMS 2012?
- 5. 僅在填充EditText時才關閉AlertDialog
- 6. 自動完成/填充不關閉
- 7. 關閉json數據填充表
- 8. 自動填充不會關閉
- 9. 將錶轉換爲Ansi填充
- 10. 設置圖像填充PyGTK
- 11. 在底部設置填充
- 12. 無法關閉使用Angular-formly的Chrome自動填充
- 13. 使用InputScope =「Text」關閉自動填充建議欄
- 14. 如何使用JPA填充封閉表?
- 15. 有關ANSI相關設置的建議配置是什麼?
- 16. 如何設置「無填充」使用PowerPoint 2010 interop填充自定形
- 17. 用jQuery填充後設置SELECT值
- 18. 關閉Laravel artisan命令的ANSI顏色
- 19. 如何關閉自動填充功能並防止預填充字段
- 20. 使用NSSet關係來填充cellForRow
- 21. 使用關係填充laravel對象
- 22. 關閉和參考設置
- 23. 設置style.backgroundColor關閉代碼
- 24. 關閉時設置變量
- 25. WinJs設置面板關閉
- 26. 360旋轉關閉設置
- 27. processing.js html設置(關閉)
- 28. 填充用戶配置使用RegistrationView
- 29. Ansi中的位設置C
- 30. 填充DataGrid不會讓應用程序關閉優雅
並且[documentation](https://docs.microsoft.com/en-us/sql/t-sql/statements/set-ansi-padding-transact-sql)非常清晰:「此設置僅影響新列的定義在創建列後,SQL Server將根據創建列時的設置存儲值,而現有列不會受到以後對此設置的更改的影響。 –