สวัสดีครับ
วันนี้ผมขอนำเสนอวิธีการ ลบ column ออกจาก table ในกรณีที่เราไม่ทราบชื่อของ default (หากมีการสร้าง)
แล้วเกิดมีก็ไม่อยากจะเขียนอีก ดังนั้น T-SQL สามารถช่วยท่านได้ครับ
ลองดูนะครับ
DECLARE @table_name NVARCHAR(256)
DECLARE @col_name NVARCHAR(256)
DECLARE @Command NVARCHAR(1000)
SET @table_name = N'Customers' --ใส่ชื่อตาราง
SET @col_name = N'FirstName' --ใส่ชื่อฟิลด์ที่ต้องการจะลบออก
SELECT @Command = 'ALTER TABLE ' + @table_name + ' drop constraint ' + d.name
FROM sys.tables t
JOIN sys.default_constraints d ON d.parent_object_id = t.object_id
JOIN sys.columns c ON c.object_id = t.object_id
AND c.column_id = d.parent_column_id
WHERE t.name = @table_name
AND c.name = @col_name
IF @Command IS NOT NULL
EXECUTE(@Command)
SET @Command = 'ALTER TABLE ' + @table_name + ' DROP COLUMN ' + @col_name
EXECUTE(@Command)