科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道如何解决整理SQL Server输入的数据(2)

如何解决整理SQL Server输入的数据(2)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

我当前的项目中包括一个6200万行、500多列的表。其中的数据来自SQL Server以外,它们到达的表中有一个标识主键,所有剩下的列以varchar(50)形式保存。

作者:changelive 来源:赛迪网技术社区 2007年8月30日

关键字: 整理 SQL Server SQL Server 各版本 数据库

  • 评论
  • 分享微博
  • 分享邮件

推而广之,我希望遍历列列表并生成我需要的声明。我把需要的内容集中到一些格式化行中,用一个单独的查询来达到这个目的。

SELECT

',Max(Len( ' + COLUMN_NAME + ' )) 
AS ' + COLUMN_NAME 

FROM

INFORMATION_SCHEMA.COLUMNS

WHERE TABLE_NAME = 'tblArthurClean'

AND DATA_TYPE IN( 'char', 'varchar' )

列表A中是一个简短的结果集。现在按照以下步骤执行:

Max(Len( Record_Length_Indicator_or_Filler )) 
AS Record_Length_Indicator_or_Filler,   
Max(Len( Job_Number )) AS Job_Number,    
Max(Len( Personal_or_Firm_Name )) 
AS Personal_or_Firm_Name,    
Max(Len( Mailing_Address_Supplied_by_Customer

把结果集粘贴到一个文本编辑器中。

在第一行前面插入SELECT。

在文件末尾增加FROM和表的名称。

我在文件开头和末尾添加以下内容。

SELECT GetDate()

GO

然后我删除输出结果第一行前面的逗号,把它保存为一个查询,加载再让它运行。

我对它在我的服务器上的性能非常满意。它只用了一个小时多一点的时间计算出结果——对于分析一个6200万行几百列的表,时间不算太长。

得到的结果是一行结果集,我可以用它作为修改表结构和列名称的指导,并把这些结果与原始表联系起来,做出相应的调整。

本文说明退一步思考如何能够为你节省大量的输入时间。我的座右铭是:“只要SQL能够做的,它都应该完成。”

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章