自動偵測資料表是否存在指定欄位,存在則執行 DROP COLUMN,避免因欄位不存在導致腳本報錯,提升部署腳本健壯度。
CREATE PROCEDURE FuncDropColumn
@tablename VARCHAR(128), -- 資料表名稱
@Columnname VARCHAR(128) -- 欄位名稱
AS
BEGIN
SET @tablename = LTRIM(RTRIM(@tablename))
SET @Columnname = LTRIM(RTRIM(@Columnname))
DECLARE @string VARCHAR(8000)
IF EXISTS (
SELECT * FROM syscolumns
WHERE id = OBJECT_ID(@tablename) AND name = @Columnname
)
BEGIN
SELECT @string = 'ALTER TABLE ' + @tablename
+ ' DROP COLUMN [' + LTRIM(RTRIM(@Columnname)) + ']'
PRINT @string
EXECUTE(@string)
END
END
GO
EXECUTE FuncDropColumn 'PSZ31', 'Z31No'
DROP COLUMN 失敗拋出錯誤PRINT),利於稽核與除錯FuncADDColumn 可構建完整的欄位生命週期管理工具集