通常我們要更改 SQL Server 資料表中的欄位屬性時
直接使用 SQL Server Management Studio 進去調整就行了
但是今天同事碰到一個問題,就是當改完屬性(大小)要存檔時,會發生連線逾時的情況
個人猜測是裡面的資料量很多,而你修改欄位的屬性(大小)時
SQL Server 會每一筆都去看一次,而造成連線逾時
解決的方法就是使用下 SQL 指令的方式去修改
語法如下
alter table table_name alter column col_name col_type --範例。把"採購明細檔"裡的"品名"改為 nvarchar(50) alter table 採購明細檔 alter column 品名 nvarchar(50) --範例。把"採購明細檔"裡的"備註"改為 ntext alter table 採購明細檔 alter column 備註 ntext
加大欄位的大小是沒問題的
但如果要縮小欄位請注意是否當前的資料是否小於你要調整的大小
如果現有的欄位資料大於你要調整的大小會發生以下情況,指令不會被執行
訊息 8152,層級 16,狀態 13,行 1
字串或二進位資料會被截斷。
陳述式已經結束。