如何在单个查询中创建和更改两个不同的表?

时间:2014-07-15 12:30:08

标签: sql sql-server database

我有一张桌子user_info。现在我正在接受用户的输入(例如abc)。我想创建一个名为abc的表,并在abc表中添加列user_info。我在谷歌搜索并找到union,但我不这么认为union会帮助我。

1 个答案:

答案 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)

您可以根据需要为该字符串添加任意数量的语句,只需将它们连接在一起即可。