国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
SQL存儲過程入門級教程4

SQL存儲過程入門級教程





說明 SQL Server 是將空字符串解釋為單個空格還是解釋為真正的空字符串,由兼容級別設(shè)置控制。
如果兼容級別小于或等于 65,SQL Server 就將空字符串解釋為單個空格。
如果兼容級別等于 70,則 SQL Server 將空字符串解釋為空字符串。
獲得有關(guān)存儲過程的信息
若要顯示用來創(chuàng)建過程的文本,請在過程所在的數(shù)據(jù)庫中執(zhí)行 sp_helptext,并使用過程名作為參數(shù)。 


說明 使用 ENCRYPTION 選項創(chuàng)建的存儲過程不能使用 sp_helptext 查看。


若要顯示有關(guān)過程引用的對象的報表,請使用 sp_depends。 

若要為過程重命名,請使用 sp_rename。 


引用對象

SQL Server 允許創(chuàng)建的存儲過程引用尚不存在的對象。在創(chuàng)建時,只進(jìn)行語法檢查。執(zhí)行時,如果高速緩存中尚無有效的計劃,則編譯存儲過程以生成執(zhí)行計劃。只有在編譯過 程中才解析存儲過程中引用的所有對象。因此,如果語法正確的存儲過程引用了不存在的對象,則仍可以成功創(chuàng)建,但在運行時將失敗,因為所引用的對象不存在。
延遲名稱解析和兼容級別
SQL Server 允許 Transact-SQL 存儲過程在創(chuàng)建時引用不存在的表。這種能力稱為延遲名稱解析。不過,如果 Transact-SQL 存儲過程引用了該存儲過程中定義的表,而兼容級別設(shè)置(通過執(zhí)行 sp_dbcmptlevel 來設(shè)置)為 65,則在創(chuàng)建時會發(fā)出警告信息。而如果在運行時所引用的表不存在,將返回錯誤信息。

執(zhí)行存儲過程

成功執(zhí)行 CREATE PROCEDURE 語句后,過程名稱將存儲在 sysobjects 系統(tǒng)表中,而 CREATE PROCEDURE 語句的文本將存儲在 syscomments 中。第一次執(zhí)行時,將編譯該過程以確定檢索數(shù)據(jù)的最佳訪問計劃。

使用 cursor 數(shù)據(jù)類型的參數(shù)

存儲過程只能將 cursor 數(shù)據(jù)類型用于 OUTPUT 參數(shù)。如果為某個參數(shù)指定了 cursor 數(shù)據(jù)類型,也必須指定 VARYING 和 OUTPUT 參數(shù)。如果為某個參數(shù)指定了 VARYING 關(guān)鍵字,則數(shù)據(jù)類型必須是 cursor,并且必須指定 OUTPUT 關(guān)鍵字。



說明 cursor 數(shù)據(jù)類型不能通過數(shù)據(jù)庫 API(例如 OLE DB、ODBC、ADO 和 DB-Library)綁定到應(yīng)用程序變量上。因為必須先綁定 OUTPUT 參數(shù),應(yīng)用程序才可以執(zhí)行存儲過程,所以帶有 cursor OUTPUT 參數(shù)的存儲過程不能通過數(shù)據(jù)庫 API 調(diào)用。只有將 cursor OUTPUT 變量賦值給 Transact-SQL 局部 cursor 變量時,才可以通過 Transact-SQL 批處理、存儲過程或觸發(fā)器調(diào)用這些過程。


Cursor 輸出參數(shù)
在執(zhí)行過程時,以下規(guī)則適用于 cursor 輸出參數(shù): 

對于只進(jìn)游標(biāo),游標(biāo)的結(jié)果集中返回的行只是那些存儲過程執(zhí)行結(jié)束時處于或超出游標(biāo)位置的行,例如: 
在過程中的名為 RS 的 100 行結(jié)果集上打開一個非滾動游標(biāo)。 

過程提取結(jié)果集 RS 的頭 5 行。

過程返回到其調(diào)用者。


返回到調(diào)用者的結(jié)果集 RS 由 RS 的第 6 到 100 行組成,調(diào)用者中的游標(biāo)處于 RS 的第一行之前。 
對于只進(jìn)游標(biāo),如果存儲過程完成后,游標(biāo)位于第一行的前面,則整個結(jié)果集將返回給調(diào)用批處理、存儲過程或觸發(fā)器。返回時,游標(biāo)將位于第一行的前面。


對于只進(jìn)游標(biāo),如果存儲過程完成后,游標(biāo)的位置超出最后一行的結(jié)尾,則為調(diào)用批處理、存儲過程或觸發(fā)器返回空結(jié)果集。 

說明 空結(jié)果集與空值不同。

對于可滾動游標(biāo),在存儲過程執(zhí)行結(jié)束時,結(jié)果集中的所有行均會返回給調(diào)用批處理、存儲過程或觸發(fā)器。返回時,游標(biāo)保留在過程中最后一次執(zhí)行提取時的位置。

對于任意類型的游標(biāo),如果游標(biāo)關(guān)閉,則將空值傳遞回調(diào)用批處理、存儲過程或觸發(fā)器。如果將游標(biāo)指派給一個參數(shù),但該游標(biāo)從未打開過,也會出現(xiàn)這種情況。 

說明 關(guān)閉狀態(tài)只有在返回時才有影響。例如,可以在過程中關(guān)閉游標(biāo),稍后再打開游標(biāo),然后將該游標(biāo)的結(jié)果集返回給調(diào)用批處理、存儲過程或觸發(fā)器。

本文分頁: 1 2 3 4 5 6
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
SQL Server 2005 創(chuàng)建簡單的存儲過程
其實很容易的SQL SERVER存儲過程和觸發(fā)器(10分鐘入門教程) - 寒風(fēng)雨(lanm...
MySQL基礎(chǔ)-存儲過程
數(shù)據(jù)庫常見面試題總結(jié)
牛刀小試PLSQL編程之筑基篇
SQL Server 事務(wù)、異常和游標(biāo)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服