• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    如何自動處理軟件測試開發技術SQL Server 2005表格數據

    發布: 2009-10-09 10:55 | 作者: 不詳 | 來源: 領測軟件測試網 | 查看: 45次 | 進入軟件測試論壇討論

    領測軟件測試網

    如何自動處理軟件測試開發技術SQL Server 2005表格數據  SQL Server 數據庫

    關鍵字:SQL Server 2005表格數據近我的一個朋友也是同事面臨一個有趣的問題,他每個月從客戶那里收到大量的數據,這些數據必須先經過處理才能使用,數據表包含成千上萬行,并且表結構可能每個月都不相同。更糟糕的是,大量的數據包含重要的或無用的空格或者兩者都有。

    在我的朋友第一次用手工做完這項工作后,他很快發現手工處理實在是一件令人厭煩的事情。他在想是否存在一個自動處理數據的方法,問題是他不能預先知道表格有多少列或者每列的列名。幸運的是,自動處理數據表數據是有可能的。

    在SQL Server 2005的INFORMATION_SCHEMA模式中有大量的有用的系統視圖,本文感興趣的視圖是INFORMATION_SCHAMA.COLUMNS。

    所有的系統視圖在你查看時都是隱藏的,所以你不能簡單地右擊然后到查詢窗體查看腳本。微軟是故意這樣做的,以防止對內部結構的改變。如果你對系統表有所了解,你可以猜測這些視圖是如何構建的,但是,在本文中內部結構對我們并不重要。

    然而,你可以獲得大量關于表格中每一列的信息,下面是一些有趣的信息:

    Table_Catalog:數據庫名 
    Table_Schema:模式 
    Table_Name:表名 
    Column_Name:列名 
    Ordinal_Position:列數 
    Column_Default:默認值 
    Is_Nullable:有無數據 
    Data_Type:指明該列的數據類型 
    查詢任何給定表的列數,你可以用類似以下代碼:

    USE AdventureWorksSELECT*FROM INFORMATION_SCHEMA.COLUMNSWHERE TABLE_NAME =’ProductDescription’ 
    在你的數據庫中試用這個查詢命令,替換它的名稱和感興趣的數據表。運行它查看輸出結果。

    現在,我將用SQL產生UPDATE語句用來處理數據表中的所有數據。我通過收集感興趣的數據表中每一列的文字描述來實現。我將忽略和我們的需要不相關的數據類型,而集中于char和varchar這兩種類型,請參考列表A。這個命令的輸出是一系列和出現在列表B中的類似UPDATE語句,你需要做的就是收集這個輸出然后作為一個查詢運行語句塊。

    在上面的例子中,我只對一個數據表進行處理,但是如果我想在一個模式中處理所有數據表,我只要簡單的改一下WHERE條件語句的table_name用Schema_Name來代替,請看列表C。查看命令的輸出結果請看列表D。

    這揭示了一個小問題,當用命名模式表示時要包含一個視圖,這使得當已經更新了視圖所關聯的數據表后,在試圖更新視圖變得毫無意義。所以我需要找一種方法略過視圖。但是僅僅查看INFORMATION_SCHEMA.COLUMS視圖,并沒有方法避免這個問題,因為該視圖不能從不同的數據表區分開來。

    另一個視圖INFORMATION_SCHEMA.Tables可以幫助我們解決上述問題。我只需要在上面的查詢中添加存在量詞,請看列表E,這個版本的查詢從列表中去除了視圖來進行處理。

    我的同事現在很高興,因為這一解決方法很簡單并且靈活好用。只要改變where條件語句,就可以對一個表或所有表用一個模式,甚至可以用于數據庫中的所有表。

    正如你看到的,SQL Server2005使得處理數據表和列信息比在SQL Server 2000中更簡單,我還演示了用SQL如何產生SQL代碼,F在你知道如何將一件繁重的任務變成輕而易舉的小事了。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: server Server SERVER sql SQL Sql 表格 軟件測試 數據


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>