我有一张桌子user_info
。现在我正在接受用户的输入(例如abc)。我想创建一个名为abc
的表,并在abc
表中添加列user_info
。我在谷歌搜索并找到union
,但我不这么认为union
会帮助我。
答案 0 :(得分:0)
可以尝试这样的事情:
declare @tblName varchar(50) = 'abc'
declare @SQL varchar(max)
SET @SQL = 'Create Table ' + @tblName + ' (col1 varchar(50))'
EXEC(@SQL)
SET @SQL = 'Alter Table user_info ADD ' + @tblName + ' varchar(50)'
EXEC(@SQL)
这将创建一个名为abc
的表,其中包含名为col1
的列和数据类型varchar(50)
。然后在user_info
表中添加一个名为abc
且数据类型为varchar(50)
如果你想在一行中同时使用它们,你可以将这些字符串连接起来而不是分别执行它们:
SET @SQL = 'Create Table ' + @tblName + ' (col1 varchar(50))' +
' Alter Table user_info ADD ' + @tblName + ' varchar(50)'
EXEC(@SQL)
您可以根据需要为该字符串添加任意数量的语句,只需将它们连接在一起即可。