在SQL Server 2008中運用表值參數(TVP)_Mssql數據庫教程
推薦:SQL Server數據庫增強版備份體驗老鳥說事:Microsoft SQL Server數據庫增強版備份體驗 在歐洲,有一首流傳很廣的民諺: 因為丟失一根鐵釘,我們失去了一塊馬蹄鐵; 因為失去一塊馬蹄鐵,我們失去了一匹駿馬; 因為失去
問題:當我們瀏覽SQL Server 2008的新特性的時候,我們發現一個很有趣的特性叫做表值參數(Table-Valued Parameter)。你能否給我們詳細介紹一下我們可以如何利用這個新特性嗎?
專家解答:
表值參數確實是SQL Server 2008的一個新特性。顧名思義,表值參數表示你可以把一個表類型作為參數傳遞到函數或存儲過程里。更高級的功能方面,表值參數的功能可以允許你向被聲明為T-SQL變量的表中導入數據,然后把該表作為一個參數傳遞到存儲過程或函數中去。表值參數的優點在于你可以向存儲過程或函數發送多行數據,而無需向以前那樣必須聲明多個參數或者使用XML參數類型來處理多行數據。據說,表值參數可以處理多達1000行數據。
我們在這里將會介紹表值參數,并舉一些簡單的編碼例子來演示如何通過使用表值參數來完成以下任務:
創建可以作為表值參數傳遞到函數或存儲過程的表類型
創建使用表值參數的存儲過程
聲明表類型,向該表導入數據,并把它傳遞到存儲過程里
在數據倉庫應用程序里的數據加載過程,我們一般會在維度處理過程中把源系統鍵對應到代理鍵;然后使用代理鍵來識別數據倉庫中的維度行。這樣對維度行進行的每一個改動都會存儲在一行帶有新代理鍵的新行中,我們就可以保存維度行的完整歷史記錄。當對維度行進行改動或添加新行時,我們只需要給源系統鍵添加一個新的代理鍵并在維度表里插入新的一行就可以了。在處理事實行(fact rows)時,我們查找代理鍵并將其存儲在事實表中。查詢通過代理鍵連接事實表和維度表。由于多個事實表通常會索引至同一個維度(例如Customer),代理鍵查找功能可以給我們提供一個使用表值參數的很好的例子。我們可以在存儲過程中執行一次代理鍵查找,然后在多個事實表的數據載入過程中調用這個代理鍵查找。
分享:如何有效防止Java程序源碼被人偷窺?Java程序的源代碼很容易被別人偷看,只要有一個反編譯器,任何人都可以分析別人的代碼。本文討論如何在不修改原有程序的情況下,通過加密技術保護源代碼。 一、為什么要加密? 對于傳統的C或
- sql 語句練習與答案
- 深入C++ string.find()函數的用法總結
- SQL Server中刪除重復數據的幾個方法
- sql刪除重復數據的詳細方法
- SQL SERVER 2000安裝教程圖文詳解
- 使用sql server management studio 2008 無法查看數據庫,提示 無法為該請求檢索數據 錯誤916解決方法
- SQLServer日志清空語句(sql2000,sql2005,sql2008)
- Sql Server 2008完全卸載方法(其他版本類似)
- sql server 2008 不允許保存更改,您所做的更改要求刪除并重新創建以下表
- SQL Server 2008 清空刪除日志文件(瞬間日志變幾M)
- Win7系統安裝MySQL5.5.21圖解教程
- 將DataTable作為存儲過程參數的用法實例詳解
- 相關鏈接:
- 教程說明:
Mssql數據庫教程-在SQL Server 2008中運用表值參數(TVP)。