我正在使用SQL Server。我想向多个表中添加一个名为[DateCreated]的单独列。是否可能通过一条语句将此列添加到数据库中的所有表中?
我偶然发现了Joe Steffaneli的答案,他建议使用一个查询,该查询返回由Alter table语句组成的行。 查询如下:
select 'alter table ' + quotename(s.name) + '.' + quotename(t.name) + ' add [DateModified] datetime'
from sys.columns c
inner join sys.tables t
on c.object_id = t.object_id
inner join sys.schemas s
on t.schema_id = s.schema_id
left join sys.columns c2
on t.object_id = c2.object_id
and c2.name = 'DateModified'
where c.name = 'DateCreated'
and t.type = 'U'
and c2.column_id is null /* DateModified column does not already exist */
有没有办法执行返回的行?对不起,我的英语不好。