当前位置:   article > 正文

Sql Server 批量修改表格字段+清理表数据--sql语句实现_sql server怎么批量修改1亿数据表的某个字段

sql server怎么批量修改1亿数据表的某个字段
  1. declare @sql varchar(300)
  2. declare @tablecolumnname varchar(100), @columnname varchar(100)
  3. declare cursor1 cursor for
  4. SELECT '表名' 'tablecolumnname',a.name columnname FROM syscolumns a
  5. inner join sysobjects d on a.id=d.id and d.xtype='U' and d.name<>'dtproperties'
  6. where d.name='表名' and a.colorder>1 and a.colorder<38 --仅修改第2至第37个字段
  7. open cursor1
  8. fetch next from cursor1 into @tablecolumnname,@columnname
  9. while @@fetch_status=0
  10. begin
  11. set @sql='sp_rename '''+@tablecolumnname+'.'+@columnname+''','''+lower( SUBSTRING(@columnname,1,1))+SUBSTRING(@columnname,2,LEN(@columnname)) +''',''column''' -- 此为修改为大写,如果修改为小写“lower”
  12. print @sql
  13. exec(@sql)
  14. fetch next from cursor1 into @tablecolumnname,@columnname
  15. end
  16. close cursor1
  17. deallocate cursor1

获取表格需要修改的字段:

SELECT    '表名' 'tablecolumnname',a.name columnname  FROM syscolumns a  
inner join sysobjects d on a.id=d.id and d.xtype='U' and d.name<>'dtproperties' 
 where d.name='表名' and a.colorder>1 and a.colorder<38  --仅修改第2至第37个字段

批量清理表数据

  1. declare @sql varchar(300)
  2. declare @tablecolumnname varchar(100)
  3. declare cursor1 cursor for
  4. Select Name FROM esldatamanager..SysObjects Where XType='U' orDER BY Name
  5. open cursor1
  6. fetch next from cursor1 into @tablecolumnname
  7. while @@fetch_status=0
  8. begin
  9. set @sql='truncate table '+@tablecolumnname --清理表语句
  10. print @sql
  11. exec(@sql)
  12. fetch next from cursor1 into @tablecolumnname
  13. end
  14. close cursor1
  15. deallocate cursor1

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/612397
推荐阅读
相关标签
  

闽ICP备14008679号