添加列 Query With 参数

M.S*_*yak 2 sql-server-2008 alter-table

大家好,我有 1 个带有以下查询语法的问题

 ALTER TABLE table_name
 ADD column_name column-definition;
Run Code Online (Sandbox Code Playgroud)

问题是我们可以使用参数来column_name字段@column_name吗?因为我正在创建由前端提供的列名作为参数的列。例如

ALTER TABLE table_name
ADD @column_name varchar(250);
Run Code Online (Sandbox Code Playgroud)

这是给出错误,所以有什么替代方法吗?

小智 6

也许尝试:

DECLARE @sql varchar(max);
SET @sql = 'ALTER TABLE table_name ADD ' + @column_name + ' varchar(250);';
EXEC (@sql);
Run Code Online (Sandbox Code Playgroud)

  • 为了避免恶意或无知的最终用户的安全,您应该使用 [quotename()](http://msdn.microsoft.com/en-us/library/ms176114.aspx)。`引用名(@column_name)` (3认同)