Tôi muốn thay đổi kích thước cột của cột salary
trong employee
bảng numeric(18,0)
-numeric(22,5)
Thay đổi nội dung kích thước cột trong SQL Server
một số có thể cho tôi biết làm thế nào để làm điều đó?
Tôi muốn thay đổi kích thước cột của cột salary
trong employee
bảng numeric(18,0)
-numeric(22,5)
Thay đổi nội dung kích thước cột trong SQL Server
một số có thể cho tôi biết làm thế nào để làm điều đó?
ALTER TABLE [Employee]
ALTER COLUMN [Salary] NUMERIC(22,5)
alter table Employee alter column salary numeric(22,5)
ALTER TABLE [table_name] ALTER COLUMN [column_name] varchar(150)
Chạy ALTER COLUMN
mà không đề cập thuộc tính NOT NULL
sẽ cho kết quả trong cột được thay đổi để nullable, nếu nó đã không. Do đó, trước tiên bạn cần kiểm tra xem cột có thể vô hiệu và nếu không, hãy chỉ định thuộc tính NOT NULL
. Ngoài ra, bạn có thể sử dụng câu lệnh sau để kiểm tra tính khả dụng của cột trước và chạy lệnh với thuộc tính đúng.
IF COLUMNPROPERTY(OBJECT_ID('Employee', 'U'), 'Salary', 'AllowsNull')=0
ALTER TABLE [Employee]
ALTER COLUMN [Salary] NUMERIC(22,5) NOT NULL
ELSE
ALTER TABLE [Employee]
ALTER COLUMN [Salary] NUMERIC(22,5) NULL
Cảm ơn bạn đã lưu ý về những thứ vô giá trị! – user3341592
Hãy cẩn thận, nếu bạn đang thay đổi cột trong một dữ liệu rất lớn. Bạn có thể gây ra một vụ tai nạn (trên môi trường của tôi anyway). – DavidTheDev
Điều quan trọng là nếu cột có thuộc tính 'NOT NULL' thì nó phải được đề cập trong truy vấn khác, nó sẽ đặt nó thành' NULL' theo mặc định. 'ALTER TABLE [Employee] ALTER COLUMN [Mức lương] NUMERIC (22,5) NOT NULL' –
Nếu bạn có chỉ mục trên cột đó, bạn sẽ phải xóa nó, sau đó thực hiện thay đổi mã bảng và sau đó tạo chỉ số một lần nữa –