比如 在我们导入sqlserver数据到oracle时 时常碰到列超出长度的问题 很是烦劳,报错是又不说明是那一列 所以我们只有自己去查
一列列的写sql语句麻烦死了 如下可以查询一张表中所有列的最大长度
go
declare @lengh int;
declare @i int;
declare @tableName varchar(20);
DECLARE @sqlString NVARCHAR(500)
declare @a table (a int,b varchar(100)) ;
set @tableName='B2B_CONSTRACT';
set @lengh=(select count(*) from syscolumns where object_name(id)=@tableName);
insert into @a select ROW_NUMBER() OVER (ORDER BY name),name from syscolumns where object_name(id)=@tableName;
set @i=1;
while @i<=@lengh
begin
SET @sqlString = N'select max(len('+(select b from @a where a=@i)+')) as '+(select b from @a where a=@i)+' from '+@tableName; exec (@sqlString); set @i=@i+1;end;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。