• 批量给数据库表加字段


    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 
  • 相关阅读:
    UVALive2678子序列
    UVA11549计算机谜题
    UVA11520填充正方形
    LA3635派
    UVALive3971组装电脑
    记录未完成题目
    SPOJ 6219 Edit distance字符串间编辑距离
    ACM组队安排-——杭电校赛(递推)
    逆袭指数-——杭电校赛(dfs)
    油菜花王国——杭电校赛(并查集)
  • 原文地址:https://www.cnblogs.com/itpro/p/4514769.html
Copyright © 2020-2023  润新知