解讀VB實(shí)現(xiàn)SQL Server 2000存儲(chǔ)過程調(diào)用_Mssql數(shù)據(jù)庫教程
推薦:客戶端備份與恢復(fù)MSSQL Server數(shù)據(jù)庫摘要:本文以SQL SERVER為例,總結(jié)了常用的幾種備份和恢復(fù)數(shù)據(jù)庫的方法,分析了作業(yè)機(jī)制的原理,并提出了一種以作業(yè)機(jī)制實(shí)現(xiàn)恢復(fù)和備份數(shù)據(jù)庫的方法。用戶可以不打開數(shù)據(jù)庫管理器,在應(yīng)用程序客戶端就可以方便地實(shí)現(xiàn)數(shù)據(jù)庫的備份和恢復(fù)。 關(guān)鍵詞: 備份 恢復(fù) 作
摘要:本文以SQL Server2000存儲(chǔ)過程為例,探討了存儲(chǔ)過程的優(yōu)點(diǎn),并以Visual Basic6.0程序設(shè)計(jì)語言給出了調(diào)用存儲(chǔ)過程的關(guān)鍵代碼。
關(guān)鍵字:數(shù)據(jù)庫;SQL Server2000;存儲(chǔ)過程;應(yīng)用程序;VB。
存儲(chǔ)過程
存儲(chǔ)過程是存儲(chǔ)在服務(wù)器上的一組預(yù)編譯的Transact-SQL語句,是一種封裝重復(fù)任務(wù)操作的方法,支持用戶提供的變量,具有強(qiáng)大的編程功能。它類似于DOS系統(tǒng)中的BAT文件。在BAT文件中,可以包含一組經(jīng)常執(zhí)行的命令,這組命令通過BAT文件的執(zhí)行而被執(zhí)行。同樣的道理,可以把要完成某項(xiàng)任務(wù)的許多Transact-SQL語句寫在一起,組織成存儲(chǔ)過程的形式,通過執(zhí)行該存儲(chǔ)過程就可以完成這項(xiàng)任務(wù)。存儲(chǔ)過程與BAT文件又有差別,即存儲(chǔ)過程已經(jīng)進(jìn)行了預(yù)編譯。
1、創(chuàng)建存儲(chǔ)過程的方法
在Transact-SQL語言中,創(chuàng)建存儲(chǔ)過程可以使用CREATE PROCEDURE語句,其語法形式如下:
CREATE PROC[EDURE] procedure_name[;number]
[{@parameter data_type}[VARYING][=default][OUTPUT]
]],…n]
[WITH{RECOMPILE|ENCRYPTION|RECOMPILE,ENCRYPTION}]
[FOR REPLICATION]
AS sql_statement[…n]
在上面的CREATE PROCEDURE語句中,方括號(hào)"[ ]"中的內(nèi)容是可選的,花括號(hào)"{}"中的內(nèi)容是必須出現(xiàn)的,不能省略,[,…n]表示前面的參數(shù)樣式,可以重復(fù)出現(xiàn)。豎線"|"表示兩邊的選項(xiàng)可以任選一個(gè)。
下面分析該語句中各種選項(xiàng)的含義。
CREATE PROCEDURE是關(guān)鍵字,也可以寫成CREATE PROC。
procedure_name是該存儲(chǔ)過程的名稱,名稱可以是任何符合命名規(guī)則的標(biāo)示符。名稱后的[;number]參數(shù)表示可以定義一系列的存儲(chǔ)過程名稱,這些存儲(chǔ)過程的數(shù)量由number指定。
參數(shù)名稱可以使用@parameter data_type來指定。在Transact-SQL語言中,用戶定義的參數(shù)名稱前面加"@"符號(hào),這些數(shù)據(jù)類型是Transact-SQL語言允許的各種數(shù)據(jù)類型,包括系統(tǒng)提供的數(shù)據(jù)類型和用戶定義的數(shù)據(jù)類型。
當(dāng)參數(shù)類型為cursor時(shí),必須使用關(guān)鍵字VARYING和OUTPUT。VARYING表示結(jié)果集可以是一個(gè)輸出參數(shù),其內(nèi)容是動(dòng)態(tài)的。該關(guān)鍵字只能在使用游標(biāo)作為數(shù)據(jù)類型時(shí)使用。關(guān)鍵字OUTPUT表示這是一個(gè)輸出參數(shù),可以把存儲(chǔ)過程執(zhí)行的結(jié)果信息返回應(yīng)用程序。
default用于指定參數(shù)的默認(rèn)值。
RECOMPILE選項(xiàng)表示重新編譯該存儲(chǔ)過程。該選項(xiàng)只是在需要的時(shí)候才使用,例如經(jīng)常需要改變數(shù)據(jù)庫模式時(shí)。
ENCRYPTION選項(xiàng)用來加密創(chuàng)建存儲(chǔ)過程的文本,防止他人查看。
選項(xiàng)FOR REPLICATION主要用于復(fù)制過程中。注意,該選項(xiàng)不能和選項(xiàng)RECOMPILE同時(shí)使用。
AS是一個(gè)關(guān)鍵字,表示其后的內(nèi)容是存儲(chǔ)過程的語句。參數(shù)sql-statement[…n]表示在一個(gè)存儲(chǔ)過程中可以包含多個(gè)Transact-SQL語句。
2、存儲(chǔ)過程的優(yōu)點(diǎn)
在頻繁訪問數(shù)據(jù)庫的系統(tǒng)中,開發(fā)者都樂于使用存儲(chǔ)過程,這與存儲(chǔ)過程的下列優(yōu)點(diǎn)是分不開的。
⑴ 存儲(chǔ)過程可以與其他應(yīng)用程序共享應(yīng)用程序的邏輯,從而確保一致的數(shù)據(jù)訪問和操縱。
⑵ 存儲(chǔ)過程提供了一種安全機(jī)制。如果用戶被授予執(zhí)行存儲(chǔ)過程權(quán)限,那么即使該用戶沒有訪問在執(zhí)行該存儲(chǔ)過程中所參考的表或視圖的權(quán)限,該用戶也可以完全執(zhí)行該存儲(chǔ)過程而不受到影響。因此,可以創(chuàng)建存儲(chǔ)過程來完成所有的增加、刪除等操作,并且可以通過編程控制上述操作中對(duì)信息的訪問權(quán)限。
⑶ 存儲(chǔ)過程執(zhí)行速度快,便于提高系統(tǒng)的性能。由于存儲(chǔ)過程在第一次執(zhí)行之后,其執(zhí)行規(guī)劃就駐存在過程高速緩沖存儲(chǔ)區(qū)中,在以后的操作中,只需從過程高速緩沖存儲(chǔ)區(qū)中調(diào)用編譯好的二進(jìn)制形式存儲(chǔ)過程來執(zhí)行。
⑷ 使用存儲(chǔ)過程可以減少網(wǎng)絡(luò)傳輸時(shí)間。如果有一千條Transact-SQL語句的命令,一條一條地通過網(wǎng)絡(luò)在客戶機(jī)和服務(wù)器之間傳送,那么這種傳輸所耗費(fèi)的時(shí)間將很長。但是,如果把這一千條Transact-SQL語句的命令寫成一條較為復(fù)雜的存儲(chǔ)過程命令,這時(shí)在客戶機(jī)和服務(wù)器之間網(wǎng)絡(luò)傳輸所需的時(shí)間就會(huì)大大減少。
分享:談SQL Server的空值處理策略數(shù)據(jù)完整性是任何數(shù)據(jù)庫系統(tǒng)要保證的重點(diǎn)。不管系統(tǒng)計(jì)劃得有多好,空數(shù)據(jù)值的問題總是存在。本文探討了在SQL Server中處理這些值時(shí)涉及的3個(gè)問題:計(jì)數(shù)、使用空表值以及外鍵處理。 用COUNT(*)處理空值 大多數(shù)集合函數(shù)都能在計(jì)算時(shí)消除空值;COUNT函數(shù)則屬于例
- 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ù)庫,提示 無法為該請(qǐng)求檢索數(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ù)庫教程推薦
- 安裝sqlserver2000時(shí)出現(xiàn)wowexec.exe無反應(yīng)的解決方法
- SQL Server2005打開數(shù)據(jù)表中的XML內(nèi)容時(shí)報(bào)錯(cuò)的解決辦法
- Server2005中更改sa的用戶名的多種方法
- 關(guān)于避免在 PL/SQL 中使用嵌套游標(biāo)查詢
- SQL普通表轉(zhuǎn)分區(qū)表的方法
- 怎樣巧妙規(guī)劃使用Oracle數(shù)據(jù)空間
- 是什么讓SQL Server加速運(yùn)行
- 實(shí)例演示left join/right join/inner join
- SqlServer2005 數(shù)據(jù)庫同步配置圖文詳解
- 解讀改善SQL Server內(nèi)存管理的問題
- 相關(guān)鏈接:
復(fù)制本頁鏈接| 搜索解讀VB實(shí)現(xiàn)SQL Server 2000存儲(chǔ)過程調(diào)用
- 教程說明:
Mssql數(shù)據(jù)庫教程-解讀VB實(shí)現(xiàn)SQL Server 2000存儲(chǔ)過程調(diào)用
。