在SQL Server 2008中運(yùn)用表值參數(shù)(TVP)_Mssql數(shù)據(jù)庫教程
推薦:SQL Server數(shù)據(jù)庫增強(qiáng)版?zhèn)浞蒹w驗(yàn)老鳥說事:Microsoft SQL Server數(shù)據(jù)庫增強(qiáng)版?zhèn)浞蒹w驗(yàn) 在歐洲,有一首流傳很廣的民諺: 因?yàn)閬G失一根鐵釘,我們失去了一塊馬蹄鐵; 因?yàn)槭ヒ粔K馬蹄鐵,我們失去了一匹駿馬; 因?yàn)槭?/p>問題:
當(dāng)我們?yōu)g覽SQL Server 2008的新特性的時(shí)候,我們發(fā)現(xiàn)一個(gè)很有趣的特性叫做表值參數(shù)(Table-Valued Parameter)。你能否給我們詳細(xì)介紹一下我們可以如何利用這個(gè)新特性嗎?
專家解答:
表值參數(shù)確實(shí)是SQL Server 2008的一個(gè)新特性。顧名思義,表值參數(shù)表示你可以把一個(gè)表類型作為參數(shù)傳遞到函數(shù)或存儲(chǔ)過程里。更高級(jí)的功能方面,表值參數(shù)的功能可以允許你向被聲明為T-SQL變量的表中導(dǎo)入數(shù)據(jù),然后把該表作為一個(gè)參數(shù)傳遞到存儲(chǔ)過程或函數(shù)中去。表值參數(shù)的優(yōu)點(diǎn)在于你可以向存儲(chǔ)過程或函數(shù)發(fā)送多行數(shù)據(jù),而無需向以前那樣必須聲明多個(gè)參數(shù)或者使用XML參數(shù)類型來處理多行數(shù)據(jù)。據(jù)說,表值參數(shù)可以處理多達(dá)1000行數(shù)據(jù)。
我們在這里將會(huì)介紹表值參數(shù),并舉一些簡單的編碼例子來演示如何通過使用表值參數(shù)來完成以下任務(wù):
創(chuàng)建可以作為表值參數(shù)傳遞到函數(shù)或存儲(chǔ)過程的表類型
創(chuàng)建使用表值參數(shù)的存儲(chǔ)過程
聲明表類型,向該表導(dǎo)入數(shù)據(jù),并把它傳遞到存儲(chǔ)過程里
在數(shù)據(jù)倉庫應(yīng)用程序里的數(shù)據(jù)加載過程,我們一般會(huì)在維度處理過程中把源系統(tǒng)鍵對應(yīng)到代理鍵;然后使用代理鍵來識(shí)別數(shù)據(jù)倉庫中的維度行。這樣對維度行進(jìn)行的每一個(gè)改動(dòng)都會(huì)存儲(chǔ)在一行帶有新代理鍵的新行中,我們就可以保存維度行的完整歷史記錄。當(dāng)對維度行進(jìn)行改動(dòng)或添加新行時(shí),我們只需要給源系統(tǒng)鍵添加一個(gè)新的代理鍵并在維度表里插入新的一行就可以了。在處理事實(shí)行(fact rows)時(shí),我們查找代理鍵并將其存儲(chǔ)在事實(shí)表中。查詢通過代理鍵連接事實(shí)表和維度表。由于多個(gè)事實(shí)表通常會(huì)索引至同一個(gè)維度(例如Customer),代理鍵查找功能可以給我們提供一個(gè)使用表值參數(shù)的很好的例子。我們可以在存儲(chǔ)過程中執(zhí)行一次代理鍵查找,然后在多個(gè)事實(shí)表的數(shù)據(jù)載入過程中調(diào)用這個(gè)代理鍵查找。
分享:如何有效防止Java程序源碼被人偷窺?Java程序的源代碼很容易被別人偷看,只要有一個(gè)反編譯器,任何人都可以分析別人的代碼。本文討論如何在不修改原有程序的情況下,通過加密技術(shù)保護(hù)源代碼。 一、為什么要加密? 對于傳統(tǒng)的C或
- sql 語句練習(xí)與答案
- 深入C++ string.find()函數(shù)的用法總結(jié)
- SQL Server中刪除重復(fù)數(shù)據(jù)的幾個(gè)方法
- sql刪除重復(fù)數(shù)據(jù)的詳細(xì)方法
- SQL SERVER 2000安裝教程圖文詳解
- 使用sql server management studio 2008 無法查看數(shù)據(jù)庫,提示 無法為該請求檢索數(shù)據(jù) 錯(cuò)誤916解決方法
- SQLServer日志清空語句(sql2000,sql2005,sql2008)
- Sql Server 2008完全卸載方法(其他版本類似)
- sql server 2008 不允許保存更改,您所做的更改要求刪除并重新創(chuàng)建以下表
- SQL Server 2008 清空刪除日志文件(瞬間日志變幾M)
- Win7系統(tǒng)安裝MySQL5.5.21圖解教程
- 將DataTable作為存儲(chǔ)過程參數(shù)的用法實(shí)例詳解
Mssql數(shù)據(jù)庫教程Rss訂閱編程教程搜索
Mssql數(shù)據(jù)庫教程推薦
- 怎樣處理SQL Server日志文件總結(jié)及日志滿的問題
- 查詢表里有N組相同記錄的SQL語句
- SQL Server 2005中更改sa的用戶名的方法
- SQL Server查詢語句的使用
- sql server 還原數(shù)據(jù)庫時(shí)提示數(shù)據(jù)庫正在使用,無法進(jìn)行操作的解決方法
- 解決Mysql服務(wù)無法啟動(dòng)的1067錯(cuò)誤
- SQL SQL Server 2008中的新日期數(shù)據(jù)類型
- SQL Server不能啟動(dòng)的常見故障[1][1]
- 如何將SQL 2000日志遷移到SQL Server 2008
- sql2005 日志清理 SQL2005壓縮清除日志的方法
猜你也喜歡看這些
- 更新text字段時(shí)出現(xiàn)Row size too large報(bào)錯(cuò)應(yīng)付措施
- 網(wǎng)站模板MySQL timestamp自動(dòng)更新時(shí)間
- MySQL筆記之連接查詢詳解
- mysql導(dǎo)出數(shù)據(jù)庫幾種方法
- 在SQL Server的try...catch語句中獲取錯(cuò)誤消息代碼的的語句
- linux Xtrabackup安裝及使用方法
- MySQL自增列插入0值的解決方案
- MySQL:數(shù)據(jù)庫知識(shí)點(diǎn)
- SQLServer導(dǎo)出數(shù)據(jù)到MySQL實(shí)例介紹
- 網(wǎng)站模板:以數(shù)據(jù)庫字段分組顯示數(shù)據(jù)的sql語句
- 相關(guān)鏈接:
- 教程說明:
Mssql數(shù)據(jù)庫教程-在SQL Server 2008中運(yùn)用表值參數(shù)(TVP)
。