-------用游标可以实现! declare @tabname varchar(50), @colname varchar(50),@collength intdeclare roy cursor for select c.name,a.name,a.length from syscolumns a,systypes b,sysobjects c where a.xtype=b.xtype and b.name='char' and a.id=c.id and c.xtype='u'open roy fetch next from roy into @tabname,@colname,@collengthwhile @@fetch_status=0 begin declare @sql varchar(1000) set @sql='alter table '+@tabname+' alter column '+@colname+' nvarchar('+ltrim(@collength)+')'Print @sql --先print 出来看看,再运行 --exec(@sql)fetch next from roy into @tabname,@colname,@collength end close roy deallocate roy
-------用游标可以实现!
declare @tabname varchar(50), @colname varchar(50),@collength intdeclare roy cursor for
select c.name,a.name,a.length from syscolumns a,systypes b,sysobjects c
where a.xtype=b.xtype and b.name='char' and a.id=c.id and c.xtype='u'open roy
fetch next from roy into @tabname,@colname,@collengthwhile @@fetch_status=0
begin
declare @sql varchar(1000)
set @sql='alter table '+@tabname+' alter column '+@colname+' nvarchar('+ltrim(@collength)+')'Print @sql --先print 出来看看,再运行
--exec(@sql)fetch next from roy into @tabname,@colname,@collength
end
close roy
deallocate roy