更改表table_name添加@name INT

时间:2014-03-12 10:58:37

标签: sql sql-server-2008-r2

我想要列名作为输出参数。如果有人知道,那么发布你的答案

DECLARE @Col-name INT 
SET @Col-name = 1

ALTER TABLE Table_Name ADD @Col-name INT

我试过这个但没有工作。

2 个答案:

答案 0 :(得分:0)

declare @sql nvarchar(1000)='alter table Table_Name
add' +@Col-name+'(type)'

print @sql 

EXECUTE sp_executesql @sql 

答案 1 :(得分:0)

你可能意味着INPUT参数。您必须使用动态SQL进行此类操作:

DECLARE @Col_name varchar(50); SET @Col_name = 'Column_name';
DECLARE @Col_type varchar(10); SET @Col_type = 'INT';

DECLARE @sql nvarchar(50); SET @sql = N'ALTER TABLE Table_name ADD ' + @Col_name + ' ' + @Col_type;         
EXEC sp_executesql @sql