我在嘗試這個查詢,但它不工作。如何使用存儲過程動態地在SQL Server中插入列?
CREATE PROCEDURE USP_UPDATEUSERS_0
@COLUMNNAME NVARCHAR(30),
@DATATYPE NVARCHAR(30)
AS
ALTER TABLE HC_USER_MAIN
ADD COLUMNNAME = @COLUMNNAME DATATYPE = @DATATYPE
,但我得到這個錯誤:
Msg 102, Level 15, State 1, Procedure USP_UPDATEUSERS_0, Line 1
Incorrect syntax near '='.
你查查語法來添加一列? – HoneyBadger
這有其糟糕的設計。爲什麼你希望存儲過程首先執行DDL語句? –
爲什麼要麻煩一個程序。我沒有看到執行'EXECUTE USP_UPDATEUSERS_0'NewColumn','VARCHAR(50)'的方式比'ALTER TABLE HC_USER_MAIN ADD NewColumn VARCHAR(50)'更方便' – GarethD