使用SQL更改SQL Server 資料表中的欄位屬性

通常我們要更改 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
字串或二進位資料會被截斷。

陳述式已經結束。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *