当前位置: 代码迷 >> Sql Server >> SQl 批改多表的同一字段类型长度
  详细解决方案

SQl 批改多表的同一字段类型长度

热度:64   发布时间:2016-04-27 11:22:43.0
SQl 修改多表的同一字段类型长度
。。。。。SQl 修改多表的同一字段类型长度

------解决方案--------------------
alter table 表 
alter column 字段名 更改后的类型

------解决方案--------------------
SQL code
declare @rows int,        @row  int,        @TabName    varchar(128),        @strSql        varchar(512),        @Column        varchar(32), -- 要修改的列名        @DataType    varchar(32)     -- 要修改的类型set @Column = 'name'set @DataType = 'varchar(128)'declare @t table (Row int identity(1,1),TableName varchar(128))insert into @tselect b.name from sys.columns a inner join sys.tables b on a.object_id = b.object_idwhere a.name = @Columnset @rows = @@ROWCOUNTset @row = 1while(@row <= @rows)begin    select @TabName = TableName from @t where Row = @row    set @strSql = ' alter table '+ @TabName                 +' alter column name ' + @DataType    exec (@strSql)    set @row = @row + 1end
------解决方案--------------------
动态产生SQL语句,批量执行.
SQL code
select N'alter table ['+a.name+N' ] alter column ['+b.name+N'] varchar([长度]) 'from sys.tables ainner join sys.columns b on a.object_id=b.object_idwhere b.name='[字段名]'
------解决方案--------------------
探讨
引用:
动态产生SQL语句,批量执行.

SQL code

select N'alter table ['+a.name+N' ] alter column ['+b.name+N'] varchar([长度]) '
from sys.tables a
inner join sys.columns b on a.object_id=b.object_id
wher……
  相关解决方案