Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Làm thế nào để thả cột với ràng buộc?

Trước tiên, bạn nên loại bỏ DEFAULT constraint có vấn đề , sau đó, bạn có thể thả cột

alter table tbloffers drop constraint [ConstraintName]
go

alter table tbloffers drop column checkin

Nhưng lỗi có thể xuất hiện do các lý do khác - ví dụ:chức năng hoặc chế độ xem do người dùng xác định với SCHEMABINDING tùy chọn được đặt cho họ.

CẬP NHẬT: Tập lệnh loại bỏ ràng buộc hoàn toàn tự động:

DECLARE @sql NVARCHAR(MAX)
WHILE 1=1
BEGIN
    SELECT TOP 1 @sql = N'alter table tbloffers drop constraint ['+dc.NAME+N']'
    from sys.default_constraints dc
    JOIN sys.columns c
        ON c.default_object_id = dc.object_id
    WHERE 
        dc.parent_object_id = OBJECT_ID('tbloffers')
    AND c.name = N'checkin'
    IF @@ROWCOUNT = 0 BREAK
    EXEC (@sql)
END


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách chèn Danh sách C # vào cơ sở dữ liệu bằng Dapper.NET

  2. Giới hạn bộ nhớ trong SQL Server 2016 SP1

  3. Làm thế nào để gọi Thủ tục đã lưu trong Chế độ xem?

  4. 4 cách liệt kê tất cả các dạng xem trong cơ sở dữ liệu máy chủ SQL

  5. Sử dụng bộ giá trị trong mệnh đề SQL IN