嗨我正在寫一個大的存儲過程,它創建了一個大小爲n列的動態報告表,前6個是常量,剩餘部分取決於傳遞給過程的幾個參數用所需的列創建表。TSQL在存儲過程中動態添加列
,我遇到的問題是與以下TSQL
DECLARE @columnname VARCHAR(50)
SET @columnname = 'on_' + @description
IF NOT EXISTS(SELECT * FROM syscolumns WHERE id = OBJECT_ID('reports')
AND NAME = @columnname)
BEGIN
ALTER TABLE reports ADD @columnname VARCHAR(50) NULL
END
我在上面的代碼中的ALTER TABLE語句@columnname越來越語法錯誤與此有關。
另外,因爲我對此很陌生,所以我不確定這是否是最好的方法,或者TSQL中有更好的方法來生成所需的動態表。