Có thể đổi tên một ràng buộc trong SQL Server không? Tôi không muốn phải xóa và tạo một cái mới vì ràng buộc này ảnh hưởng đến các ràng buộc khác đã tồn tại và tôi sẽ phải tạo lại / thay đổi những ràng buộc đó.
Câu trả lời:
Bạn có thể đổi tên bằng sp_rename bằng cách sử dụng@objtype = 'OBJECT'
Điều này hoạt động trên các đối tượng được liệt kê trong sys.objects bao gồm các ràng buộc
@objtype = 'OBJECT'
chỉ định. Chỉ cần xác định tên cũ và tên mới.
Sau một số lần đào sâu hơn, tôi thấy rằng nó thực sự phải ở dạng này:
EXEC sp_rename N'schema.MyIOldConstraint', N'MyNewConstraint', N'OBJECT'
Bạn có thể sử dụng sp_rename .
sp_rename 'CK_Ax', 'CK_Ax1'
INDEX
dưới dạng kiểu đối tượng.
sp_rename
tham số đầu tiên và sẽ không thành công nếu bạn sử dụng.
Tôi biết đây là một câu hỏi cũ, nhưng tôi chỉ thấy những điều sau rất hữu ích, ngoài các câu trả lời tuyệt vời khác:
Nếu ràng buộc được đổi tên có dấu chấm trong đó (dấu chấm), thì bạn cần đặt nó trong dấu ngoặc vuông, như sau:
sp_rename 'schema.[Name.With.Period.In.It]', 'New.Name.With.Period.In.It'