當前位置:首頁 » 編程語言 » sql存儲過程具有什麼
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql存儲過程具有什麼

發布時間: 2023-04-05 23:03:03

A. 在sql存儲過程分為哪五類

1、目錄存儲過程

例如:sp_columns返回當前環境中可查詢的指定表或視圖的列信息。

sp_tables返回當前環境下可查詢的對象的列表(任何可出現在FROM子句中的對象)。

2、復制類存儲過程

例如:sp_addarticle創建項目並將其添加到發布中。此存儲過程在發布伺服器的發布資料庫上執行。

3、安全管理類存儲過程

例如:sp_addrole在當前資料庫創建新的Microsoft SQL Server角色。

sp_password添加或更改Microsoft SQL Server登錄的密碼。

4、分布式查詢存儲過程

例如:sp_foreignkeys返回引用主鍵的外鍵,這些主鍵在鏈接伺服器中的表上。

sp_primarykeys返回指定遠程表的主鍵列,每個鍵列佔一行。

5、擴展存儲過程

例如:xp_sendmail向指定的收件人發送郵件和查詢結果集附件。

xp_startmail啟動SQL郵件客戶端會話。



存儲過程的特點

1、存儲過程在伺服器端運行,執行速度快。

2、存儲過程執行一次後,其執行駐留在高速緩沖存儲器,在以後的操作中,只需從高速緩沖存儲器中調用已編譯好的二進制代碼執行,提高了系統性能。

3、確保資料庫的安全。使用存儲過程可以完成所有的資料庫操作。

4、降低網路負載,提高效率。

5、可以接受用戶參數,亦可返回參數。

6、作為一種安全機制來充分利用:通過對執行某一存儲過程的許可權進行限制,能夠實現對相應的數據的訪問許可權的限制,避免了非授權用戶對數據的訪問,保證了數據的安全。

B. sql sever 的系統存儲過程包括那些

sqlserver許多管理和信息活動可以通過系統存儲過程執行。系統存儲過程按這些分類分組
主要有SP開頭和XP開頭兩種類型。具體的作用如下
sp開頭的一般是Active
Directory
過程、目錄過程、游標過程、資料庫維護計劃過程、分布式查詢過程、全文檢索過程、日誌傳送過程、OLE
自動化擴展存儲過程、復制過程、安全過程、SQL
事件探查器過程、SQL
Server
代理程序過程、系統過程、Web
助手過程、XML
過程
xp開頭的是常規擴展過程、SQL
Server
代理程序過程
不知道樓主看明白了,如果有什麼明天可以補充問題。

C. sql存儲過程有啥用

Transact-SQL中的存儲過程,非常類似於Java語言中的方法,它可以重復調用。當存儲過程執行一次後,可以將語句緩存中,這樣下次執行的時候直接使用緩存中的語句。這樣就可以提高存儲過程的性能。
Ø 存儲過程的概念
存儲過程Procere是一組為了完成特定功能的SQL語句集合,經編譯後存儲在資料庫中,用戶通過指定存儲過程的名稱並給出參數來執行。
存儲過程中可以包含邏輯控制語句和數據操縱語句,它可以接受參數、輸出參數、返回單個或多個結果集以及返回值。
由於存儲過程在創建時即在資料庫伺服器上進行了編譯並存儲在資料庫中,所以存儲過程運行要比單個的SQL語句塊要快。同時由於在調用時只需用提供存儲過程名和必要的參數信息,所以在一定程度上也可以減少網路流量、簡單網路負擔。

1、 存儲過程的優點
A、 存儲過程允許標准組件式編程
存儲過程創建後可以在程序中被多次調用執行,而不必重新編寫該存儲過程的SQL語句。而且資料庫專業人員可以隨時對存儲過程進行修改,但對應用程序源代碼卻毫無影響,從而極大的提高了程序的可移植性。
B、 存儲過程能夠實現較快的執行速度
如果某一操作包含大量的T-SQL語句代碼,分別被多次執行,那麼存儲過程要比批處理的執行速度快得多。因為存儲過程是預編譯的,在首次運行一個存儲過程時,查詢優化器對其進行分析、優化,並給出最終被存在系統表中的存儲計劃。而批處理的T-SQL語句每次運行都需要預編譯和優化,所以速度就要慢一些。
C、 存儲過程減輕網路流量
對於同一個針對資料庫對象的操作,如果這一操作所涉及到的T-SQL語句被組織成一存儲過程,那麼當在客戶機上調用該存儲過程時,網路中傳遞的只是該調用語句,否則將會是多條SQL語句。從而減輕了網路流量,降低了網路負載。
D、 存儲過程可被作為一種安全機制來充分利用
系統管理員可以對執行的某一個存儲過程進行許可權限制,從而能夠實現對某些數據訪問的限制,避免非授權用戶對數據的訪問,保證數據的安全。

Ø 系統存儲過程滑者
系統存儲過程是系統創建的存儲過程,目的在於能夠方便的從系統表中查詢信息或完成與更新資料庫表相關的管理任務或其他的系統管理任務。系統存儲過程主要存儲在沖渣master資料庫中,以「sp」下劃線開頭的存儲過程。盡管這些系統存儲過程在master資料庫中,但散讓悄我們在其他資料庫還是可以調用系統存儲過程。有一些系統存儲過程會在創建新的資料庫的時候被自動創建在當前資料庫中。

D. SQL的存儲過程是什麼

存儲過程(Stored Procere)是一組為了完成特定功能的SQL語句集,經編譯後存儲在資料庫中。用戶通過指定存儲過程的名字並給出參數(如果該存儲過程帶有參數)來執行它。存儲過程是資料庫中的一個重要對象,任何一個設計良好的資料庫應用程序都應該用到存儲過程。總的來說,存儲過程具有以下一些優點:

◆存儲過程允許標准組件式編程

◆存儲過程能夠實現較快的執行速度

◆存儲過程能夠減少網路流量

◆存儲過程可被作為一種安全機制來充分利用

基本語法如下:
完整的語法規則如下:

CREATE PROC [ EDURE ] procere_name [ ; number ]
[ { @parameter data_type }
[ VARYING ] [ = default ] [ OUTPUT ]
] [ ,...n ]
[ WITH
{ RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ]
[ FOR REPLICATION ]
AS sql_statement [ ...n ]

E. SQL存儲過程有什麼好處

優點:

  1. 離數據最近,某些情況下可獲得更好性能

  2. 減少應用復雜度及應用伺服器壓力

  3. 需要顯式調用,不會像觸發器那樣出現問題難以定位

  4. 使用方便

缺點:

  1. 增加資料庫伺服器壓力。相當於將應用壓力轉嫁到資料庫上,而應用伺服器更容易擴展,也就是說大部分情況下資料庫伺服器資源比應用伺服器資源更加珍貴。

  2. 增加網路開銷。如存儲過程存取數據量較大,會造成較大網路開銷。

  3. 可移植性差。如系統有多中資料庫,或從某種資料庫遷移到另一種資料庫,則很有可能遇到兼容性問題。

  4. 導致多處存在業務邏輯。存儲過程某種程度就是將本應放在應用側處理的業務邏輯放到資料庫處理,這會導致業務邏輯存在於多個地方,增加調試維護困難。

  5. 在高並發系統中很可能會導致資料庫壓力瞬間增大。

  6. 存儲過程中的復雜運算會大量消耗資料庫伺服器資源。

總結:

一般情況下盡量少用或不用存儲過程,特別是在一個並發較高架構復雜的大型系統中,更是要減少存儲過程的使用,業務邏輯的工作就應該由應用伺服器處理,而不是交給資料庫。很多時候存儲過程確實可以快速解決問題,但它的維護性、擴展性、移植性等都不好。如果你的系統很小,架構比較簡單,並且開發人員對存儲過程熟悉,那麼可以考慮使用存儲過程減少工作量;但隨著系統增加,架構變復雜,開發人員越來越多,這時存儲過程的存在可能會導致更多的問題。當然,定時ETL或報表統計之類的任務,還是可以考慮使用存儲過程來做的。

F. sql存儲過程是什麼

說多了你也難得慢慢看,說簡單一點,其實存儲過程就是把一堆SQL代碼集中在一起,形成一個固定的代碼塊.存儲過程名字,就是代碼塊的名字.以後你要運行這塊代碼的時候,不用在把所有的代碼都放上去,只需要運行這個代碼塊的名字就行了.

G. SQL中存儲過程是干什麼用的

存儲過程是在大型資料庫系統中,一組為了完成特定功能的SQL 語句集,它存儲在資料庫中,一次編譯後永久有效,用戶通過指定存儲過程的名字並給出參數(如果該存儲過程帶有參數)來執行它。存儲過程是資料庫中的一個重要對象。

資料庫存儲過程的實質就是部署在資料庫端的一組定義代碼以及SQL。將常用的或很復雜的工作,預先用SQL語句寫好並用一個指定的名稱存儲起來,那麼以後要叫資料庫提供與已定義好的存儲過程的功能相同的服務時,只需調用execute,即可自動完成命令。

每個參數名前要有一個「@」符號,每一個存儲過程的參數僅為該程序內部使用,參數的類型除了IMAGE外,其他SQL Server所支持的數據類型都可使用。

(7)sql存儲過程具有什麼擴展閱讀:

SQL中存儲過程優點:

1、重復使用。存儲過程可以重復使用,從而可以減少資料庫開發人員的工作量。

2、減少網路流量。存儲過程位於伺服器上,調用的時候只需要傳遞存儲過程的名稱以及參數就可以了,因此降低了網路傳輸的數據量。

3、安全性。參數化的存儲過程可以防止SQL注入式攻擊,而且可以將Grant、Deny以及Revoke許可權應用於存儲過程。

4、存儲過程只在創造時進行編譯,以後每次執行存儲過程都不需再重新編譯,而一般SQL語句每執行一次就編譯一次,所以使用存儲過程可提高資料庫執行速度。

H. SQL存儲過程是什麼

就是在sql裡面,可以執行的一段程序代碼,就好比軟體開發,就是一段代碼,來處理一些事情,
sql的存儲過程就是一段代碼,來處理一些事情,可以被調用執行,也可以在定時器裡面調用來定時處理

I. 資料庫中存儲過程有什麼作用

第一:存儲過程因為SQL語句已經預編繹過了,因此運行的速度比較快。
第二:存儲過程可以接受參數、輸出參數、返回單個或多個結果集以及返回值。可以向程序返回錯誤原因。
第三:存儲過程運行比較穩定,不會有太多的錯誤。只要一次成功,以後都會按這個程序運行。
第四:存儲過程主要是在伺服器上運行,減少對客戶機的壓力。
第五:存儲過程可以包含程序流、邏輯以及對資料庫的查詢。同時可以實體封裝和隱藏了數據邏輯。
第六:存儲過程可以在單個存儲過程中執行一系列 SQL 語句。
第七:存儲過程可以從自己的存儲過程內引用其它存儲過程,這可以簡化一系列復雜語句。

其實存儲過程還可以控制許可權,比如一個表不直接允許用戶直接訪問,但要求允許用戶訪問和修改其中一個或多個欄位,那就可以通過一個存儲過程來實現並允許該用戶使用該存儲過程。

還有,如果多條SQL語句執行過程中,過程環節返回了數據作為後面環節的輸入數據,如果直接通過SQL語句執行,勢必導致大量的數據通過網路返回到客戶機,並在客戶機運算;如果封裝在存儲過程中,則將運算放在伺服器進行,不但減少了客戶機的壓力,同時也減少了網路流量,提高了執行的效率。

J. SQL存儲過程的作用和優缺點

SQL存儲過程放在SQL資料庫中,1,因此在程序中調用的時候不必自己拼接sql語句。2,SQLSERVER會對存儲過程進行預編譯,因此速度快。3,在網路上不必傳輸冗長的SQL語句,而是直接調用存儲過程的名字,因此可以加快速度當然,在一些外包軟體開發中,是不允許使用存儲過程的。因為對方不可以把資料庫暴露給你,此時你只能使用SQL語句。不過國內的一些小型企業使用SQL存儲過程還是很流行的。因為程序代碼里不包含SQL語句,因此會資料庫會相對安全一些。