批量给数据库表加字段


 

declare @tablename varchar(50)
       ,@sql varchar(1000)
       ,@dbname varchar(50)
set @dbname=DB_NAME()

declare addcolumn_Cusor cursor  for select name from sys.tables 

open addcolumn_Cusor
fetch next from addcolumn_Cusor into @tablename
while(@@fetch_status=0)
begin

set @sql='IF NOT EXISTS (SELECT 1 FROM '+@dbname+'.dbo.SYSCOLUMNS WHERE ID=OBJECT_ID('''+@dbname+'.dbo.'+@tablename+''') AND NAME=''CreateDate'')'

set @sql += 'alter table '+@tablename+' add CreateDate datetime default(getdate())'

set @sql+='IF NOT EXISTS (SELECT 1 FROM '+@dbname+'.dbo.SYSCOLUMNS WHERE ID=OBJECT_ID('''+@dbname+'.dbo.'+@tablename+''') AND NAME=''Creator'')'

set @sql += 'alter table '+@tablename+' add Creator nvarchar(12)'

set @sql+='IF NOT EXISTS (SELECT 1 FROM '+@dbname+'.dbo.SYSCOLUMNS WHERE ID=OBJECT_ID('''+@dbname+'.dbo.'+@tablename+''') AND NAME=''UpdateDate'')'

set @sql += 'alter table '+@tablename+' add UpdateDate datetime default(getdate())'

set @sql+='IF NOT EXISTS (SELECT 1 FROM '+@dbname+'.dbo.SYSCOLUMNS WHERE ID=OBJECT_ID('''+@dbname+'.dbo.'+@tablename+''') AND NAME=''Updator'')'

set @sql += 'alter table '+@tablename+' add Updator nvarchar(12)'

exec(@sql)

fetch next from addcolumn_Cusor into @tablename
end
close addcolumn_Cusor
deallocate addcolumn_Cusor 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM