萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> java >> 存儲過程講解

存儲過程講解

class="area">  存儲過程(Stored Procedure)是在大型數據庫系統中,一組為了完成特定功能的SQL 語句集,經編譯後存儲在數據庫中,用戶通過指定存儲過程的名字並給出參數(如果該存儲過程帶有參數)來執行它。

存儲過程概述

  在大型數據庫系統中,存儲過程和觸發器具有很重要的作用。無論是存儲過程還是觸發器,都是SQL 語句和流程控制語句的集合。就本質而言,觸發器也是一種存儲過程。存儲過程在運算時生成執行方式,所以,以後對其再運行時其執行速度很快。SQL Server 2005 不僅提供了用戶自定義存儲過程的功能,而且也提供了許多可作為工具使用的系統存儲過程。


存儲過程的種類

1系統存儲過程

  以sp_開頭,用來進行系統的各項設定.取得信息.相關管理工作。

2本地存儲過程

  用戶創建的存儲過程是由用戶創建並完成某一特定功能的存儲過程,事實上一般所說的存儲過程就是指本地存儲過程。

3臨時存儲過程

  分為兩種存儲過程:   一是本地臨時存儲過程,以井字號(#)作為其名稱的第一個字符,則該存儲過程將成為一個存放在tempdb數據庫中的本地臨時存儲過程,且只有創建它的用戶才能執行它;   二是全局臨時存儲過程,以兩個井字號(##)號開始,則該存儲過程將成為一個存儲在tempdb數據庫中的全局臨時存儲過程,全局臨時存儲過程一旦創建,以後連接到服務器的任意用戶都可以執行它,而且不需要特定的權限。

4遠程存儲過程

  在SQL Server2005中,遠程存儲過程(Remote Stored Procedures)是位於遠程服務器上的存儲過程,通常可以使用分布式查詢和EXECUTE命令執行一個遠程存儲過程。

5 擴展存儲過程

  擴展存儲過程(Extended Stored Procedures)是用戶可以使用外部程序語言編寫的存儲過程,而且擴展存儲過程的名稱通常以xp_開頭。


基本語法 
 一.創建存儲過程

  create procedure sp_name   @[參數名] [類型],@[參數名] [類型]   as   begin   .........   end   以上格式還可以簡寫成:   create proc sp_name   @[參數名] [類型],@[參數名] [類型]   as   begin   .........   end   /*注:“sp_name”為需要創建的存儲過程的名字,該名字不可以以阿拉伯數字開頭*/   二.調用存儲過程   1.基本語法:exec sp_name [參數名]   三.刪除存儲過程   1.基本語法:   drop procedure sp_name   2.注意事項   (1)不能在一個存儲過程中刪除另一個存儲過程,只能調用另一個存儲過程   四.其他常用命令   1.show procedure status   顯示數據庫中所有存儲的存儲過程基本信息,包括所屬數據庫,存儲過程名稱,創建時間等   2.show create procedure sp_name   顯示某一個mysql存儲過程的詳細信息   3、exec sp_helptext sp_name   顯示你這個sp_name這個對象創建文本
copyright © 萬盛學電腦網 all rights reserved