MSSQL循环通过表列表来执行alter语句

时间:2013-10-05 03:50:14

标签: sql sql-server

我的SQL非常有限,我的服务器中有很多数据库,我想知道是否有可能编写一个SQL查询来遍历表名列表,然后将数据库名称中的特定表更改为修改该数据库中的表?

我只是希望在名为site_settings的表中添加新列。

MSSQL有这种能力吗?

1 个答案:

答案 0 :(得分:2)

您可以使用以下脚本。它为每个用户表返回一个alter语句(您需要更改新的列类型,因为您没有指定它),然后执行查询。

declare @sql nvarchar(max) = ''

select @sql = @sql + 'alter table ' + name + ' add site_settings int null;' 
    from sys.tables where type ='U'

exec sp_executesql @sql