sql儲存過程分類

2021-06-04 11:29:45 字數 1170 閱讀 4841

系統儲存過程

使用者盡可能不要用以sp_為字首的儲存過程名稱。sql server 2000是按照下列順序查詢以sp_為字首的儲存過程。

(1)在「master」資料庫中查詢儲存過程。

(2)根據所提供的任何限定符(資料庫名稱或所有者)查詢儲存過程。

(3)如果沒有指定所有者,則使用dbo作為所有者查詢儲存過程。

當使用者建立的儲存過程與系統儲存過程同名時,使用者建立的儲存過程將不會被執行。

本地儲存過程

本地儲存過程是使用者根據需要,在自己建立的資料庫中所建立的儲存過程,也就是在「master」、「model」、「msdb」、「tempdb」、「northwind」和「pubs」資料庫以外的資料庫所建立的儲存過程。

臨時儲存過程

臨時儲存過程通常分為區域性臨時儲存過程(#儲存過程名)和全域性臨時儲存過程(##儲存過程名)。建立區域性臨時儲存過程時,要以#作為過程名的字首。建立全域性臨時儲存過程時,要以##作為過程名的字首。臨時儲存過程在連線到sql server 2000的早期版本時很有用,這些早期版本不支援再次使用transact-sql語句或批處理執行計畫。連線到sql server 2000的應用程式應使用sp_executexql系統儲存過程,而不使用臨時儲存過程。

只有建立本地臨時儲存過程的連線才能執行該過程,當關閉此連線時,將自動刪除臨時儲存過程。

任何連線都可執行全域性臨時儲存過程。只有建立該過程的使用者關閉所有的連線時,並且所有連線該過程的當前執行版本執行完畢後,全域性臨時儲存過程將自動刪除。一旦用於建立該過程的連線關閉,將不再允許啟動並執行該過程,只允許那些已啟動執行該儲存過程的連線完成該過程的執行。

在「tempdb」資料庫中建立沒有#或##字首的儲存過程,當每次啟動sql server 2000時,「tempdb」都要重新建立該儲存過程,因此當關閉sql server 2000時將自動刪除該儲存過程。直接在「tempdb」資料庫中建立的儲存過程,即使關閉連線,該儲存過程也會存在,可向其他使用者授予、拒絕和廢除執行該臨儲存過程的許可權。

遠端儲存過程

遠端儲存過程是sql server 2000的乙個傳統功能,是指非本地伺服器上的儲存過程。現在只有在分布式查詢中使用此類儲存過程。

擴充套件儲存過程可以使用像c語言建立自己的外部例程一樣。擴充套件儲存過程以xp_為字首,它是系統資料庫引擎的開放式資料服務層的一部分,擴充套件儲存過程可返回結果,也可返回狀態。從而擴充套件了transact-sql功能。(

SQL儲存過程

什麼是儲存過程呢?定義 將常用的或很複雜的工作,預先用sql語句寫好並用乙個指定的名稱儲存起來,那麼以後要叫資料庫提供與已定義好的儲存過程的功能相同的服務時,只需呼叫execute,即可自動完成命令。講到這裡,可能有人要問 這麼說儲存過程就是一堆sql語句而已啊?microsoft公司為什麼還要新增...

sql儲存過程

概念 sql server提供了一種方法,它可以將一些固定的操作集中起來由sql server資料庫伺服器來完成,以實現某個任務,這種方法就是儲存過程。儲存過程是sql語句和可選控制流語句的預編譯集合,儲存過程在資料庫中可由應用程式通過乙個呼叫執行,而且允許使用者申明變數 有條件的執行以及其它強大的...

SQL儲存過程

儲存過程 1.返回值 create proc example4 as begin declare 返回值 int select 返回值 sum 庫存量 from 產品 return 返回值 endgo 接受這個返回值必須要用變數來接收,如 declare 接收值 int exec 接收值 examp...