SQLSERVER 如何向所有表添加同一字段

SQLSERVER 如何向所有表添加同一字段

问题描述:

公司开分店,在考虑时要多数据库还是同一数据库,如果同一数据库就需要指定分店字段,表太多,可以一次添加吗?

declare @sql varchar(200), @name varchar(40)
declare my_cursor scroll cursor for
select name from sysobjects where type = 'u'
open my_cursor
fetch next from my_cursor into @name
while(@@fetch_status=0)
begin
print 'processing ' + @name
set @sql = N'alter table ' + @name + ' add name3 varchar(200)'
exec(@sql)
print 'finished'
fetch next from my_cursor into @name
end
close my_cursor
deallocate my_cursor

还可以用 sp_msforeachtable
一句就够了

  sp_msforeachtable 'IF COL_LENGTH(''?'',''ID'') IS NULL ALTER TABLE  ? ADD ID INT '