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