存儲過程還有
『壹』 有哪些最常用的系統存儲過程
sp_databases 列出伺服器上的所有資料庫
sp_helpdb 報告有關指定資料庫或所有資料庫的信息
sp_renamedb 更改資料庫的名稱
sp_tables 返回當前環境下可查詢的對象的列表
sp_columns 返回某個表列的信息
sp_help 查看某個表的所有信息
sp_helpconstraint 查看某個表的約束
sp_helpindex 查看某個表的索引
sp_stored_proceres 列出當前環境中的所有存儲過程
sp_password 添加或修改登錄帳戶的密碼
sp_helptext 顯示默認值、未加密的存儲過程、用戶定義的存儲過程、觸發器或視圖的實際文本
『貳』 存儲過程應用語句有哪些
存儲過程與其他面向對象的程序設計語言一樣,同樣包含數據類型、流程式控制制、語句注釋、輸入和輸出與自己的函數庫。存儲過程的流程式控制制語句有ifelse、casewhenthen、while等,但沒有for循環,跟C++、Java等語言的流程式控制制語句非常類似。條件語句條件語句是流程式控制制的重要組成部分,跟其他編程語言一樣,存儲過程允許使用if關鍵字來作條件判斷,除此之外,還可以使用case來實現其他更為靈活的條件控制。
1.if語句(1)if語法if語句是最普通的條件控制語句,其語法簡單易懂,在存儲過程代碼中隨處可見,也是使用頻率最高的條件判斷語句。
語法格式:if…then…elseif…then…else…endif其中,((1)if後面跟判斷條件;
(2)elseif後面跟判斷條件;
(3)then後面跟條件分支語句塊;
(4)可以有多個elseif…then語句塊,也可以沒有;(5)else表示以上條件均不滿足時會執行的語句塊;
(6)整個條件語句塊的最後面以endif表示結束。if語句的用法,以語句「ifcondition_para=1then」開始條件控制,以語句「endif」結束條件控制,中間用「elseif」「else」作條件分支控制。單個sql語句if語法語句格式:if(expr1
『叄』 資料庫原理-存儲過程的類型有哪些分別有什麼特徵。
(3).存儲過程分類<1>.系統存儲過程系統存儲過程(System
Stored
Proceres)主要存儲在master資料庫中,並以sp_為前綴,並且系統存儲過程主要是從系統表中獲取信息,從而為系統管理員管理SQL
Server提供支持。<2>.本地存儲過程本地存儲過程(Local
Stored
Proceres)也就是用戶自行創建在用戶資料庫中的存儲過程。事實上一般所說的存儲過程值得就是本地存儲過程。用戶創建的存儲過程是由用戶創建並能完成某一特定功能(如查詢用戶所需的數據信息)的存儲過程。<3>.臨時存儲過程臨時存儲過程(Temporary
Stored
Proceres)可分為以下兩種:A.本地臨時存儲過程如果在創建存儲過程中,以井號(#)作為其名稱的第一個字元,則該存儲過程將成為一個存放在tempdb資料庫中的本地臨時存儲過程(例如,CREATE
PROCEDURE
#book_proc.....)。本地臨時存儲過程只有創建它的連接的用戶才能夠執行它,而且一旦這位用戶斷開與SQL
Server的連接,本地臨時存儲過程就會自動刪除,當然,這位用戶也可以在連接期間用DROP
PROCEDURE命令刪除多創建的本地臨時存儲過程。B.全局臨時存儲過程如果在所創建的存儲過程名稱是以兩個井號(#
#)開始,則該存儲過程將成為一個存儲在tempdb資料庫中的全局臨時存儲過程,如果沒有,便立即將全局臨時存儲過程刪除;如果有,SQL
Server會讓這些執行中的操作繼續進行,但是不允許任何用戶再執行全局臨時存儲過程,等到所有未完成的操作執行完畢後,全局臨時存儲過程就會自動刪除。由於全局臨時存儲過程能夠被所有的連接用戶使用,因此,必須注意其名稱不能和其他連接所採用的名稱相同。<4>.遠程存儲過程遠程存儲過程(Remote
Stored
Proceres)是位於遠程伺服器上的存儲過程,通常可以使用分布式查詢和EXECUTE命令執行一個遠程存儲過程。
『肆』 資料庫中存儲過程有什麼作用
第一:存儲過程因為SQL語句已經預編繹過了,因此運行的速度比較快。
第二:存儲過程可以接受參數、輸出參數、返回單個或多個結果集以及返回值。可以向程序返回錯誤原因。
第三:存儲過程運行比較穩定,不會有太多的錯誤。只要一次成功,以後都會按這個程序運行。
第四:存儲過程主要是在伺服器上運行,減少對客戶機的壓力。
第五:存儲過程可以包含程序流、邏輯以及對資料庫的查詢。同時可以實體封裝和隱藏了數據邏輯。
第六:存儲過程可以在單個存儲過程中執行一系列 SQL 語句。
第七:存儲過程可以從自己的存儲過程內引用其它存儲過程,這可以簡化一系列復雜語句。
其實存儲過程還可以控制許可權,比如一個表不直接允許用戶直接訪問,但要求允許用戶訪問和修改其中一個或多個欄位,那就可以通過一個存儲過程來實現並允許該用戶使用該存儲過程。
還有,如果多條SQL語句執行過程中,過程環節返回了數據作為後面環節的輸入數據,如果直接通過SQL語句執行,勢必導致大量的數據通過網路返回到客戶機,並在客戶機運算;如果封裝在存儲過程中,則將運算放在伺服器進行,不但減少了客戶機的壓力,同時也減少了網路流量,提高了執行的效率。
『伍』 什麼是存儲過程有什麼優點
存儲過程是事先經過編譯並存儲在資料庫中的一段SQL語句的集合,調用存儲過程可以簡化應用開發人員的很多工作,減少數據在資料庫和應用伺服器之間的傳輸,對於提高數據處理的效率是有好處的。
優點:
1、重復使用:存儲過程可以重復使用,從而可以減少資料庫開發人員的工作量。
2、減少網路流量:存儲過程位於伺服器上,調用的時候只需要傳遞存儲過程的名稱以及參數就可以了,因此降低了網路傳輸的數據量。
3、安全性:參數化的存儲過程可以防止SQL注入式攻擊,而且可以將Grant、Deny以及Revoke許可權應用於存儲過程。

(5)存儲過程還有擴展閱讀:
存儲過程的缺點:
1、更改比較繁瑣:如果更改范圍大到需要對輸入存儲過程的參數進行更改,或者要更改由其返回的數據,則仍需要更新程序集中的代碼以添加參數、更新 GetValue() 調用,等等,這時候估計比較繁瑣。
2、可移植性差:由於存儲過程將應用程序綁定到 SQL Server,因此使用存儲過程封裝業務邏輯將限制應用程序的可移植性。如果應用程序的可移植性在您的環境中非常重要,則需要將業務邏輯封裝在不特定於 RDBMS 的中間層中。
『陸』 什麼是存儲過程有什麼優點
存儲過程是事先經過編譯並存儲在資料庫中的一段SQL語句的集合,調用存儲過程可以簡化應用開發人員的很多工作,減少數據在資料庫和應用伺服器之間的傳輸,對於提高數據處理的效率是有好處的。
優點:
1、重復使用:存儲過程可以重復使用,從而可以減少資料庫開發人員的工作量。
2、減少網路流量:存儲過程位於伺服器上,調用的時候只需要傳遞存儲過程的名稱以及參數就可以了,因此降低了網路傳輸的數據量。
3、安全性:參數化的存儲過程可以防止SQL注入式攻擊,而且可以將Grant、Deny以及Revoke許可權應用於存儲過程。

(6)存儲過程還有擴展閱讀:
存儲過程的缺點:
1、更改比較繁瑣:如果更改范圍大到需要對輸入存儲過程的參數進行更改,或者要更改由其返回的數據,則仍需要更新程序集中的代碼以添加參數、更新 GetValue() 調用,等等,這時候估計比較繁瑣。
2、可移植性差:由於存儲過程將應用程序綁定到 SQL Server,因此使用存儲過程封裝業務邏輯將限制應用程序的可移植性。如果應用程序的可移植性在您的環境中非常重要,則需要將業務邏輯封裝在不特定於 RDBMS 的中間層中。
『柒』 什麼是存儲過程存儲過程有什麼特點
存儲過程是在大型資料庫系統中,一組為了完成特定功能的SQL 語句集,存儲在資料庫中,經過第一次編譯後再次調用不需要再次編譯,用戶通過指定存儲過程的名字並給出參數(如果該存儲過程帶有參數)來執行它。存儲過程是資料庫中的一個重要對象,任何一個設計良好的資料庫應用程序都應該用到存儲過程。
這類語言主要提供以下功能,讓用戶可以設計出符合應用需求的程序:
1)、變數說明
2)、ANSI(美國國家標准化組織)兼容的SQL命令(如Select,Update….)
3)、一般流程式控制制命令(if…else…、while….)
4)、內部函數
『捌』 存儲過程的作用是什麼
你會寫程序嗎?存儲過程就是程序,就是語句的集合。有些數據的批量連貫的處理,不好用程序寫,用過程寫會很方便,而且執行效率也高。如果你這些處理的數據是有規律的,或者需要反復處理的,那你就定義過程,然後根據你傳入的參數進行處理。跟程序中的過程沒什麼兩樣。而且還有如下
1.存儲過程可以使得程序執行效率更高、安全性更好,因為過程建立之後
已經編譯並且儲存到資料庫,直接寫sql就需要先分析再執行因此過程效率更高,直接寫sql語句會帶來安全性問題,如:sql注入
2.建立過程不會很耗系統資源,因為過程只是在調用才執行。
3.存儲過程可以用於降低網路流量,存儲過程代碼直接存儲於資料庫中,所以不會產生大量t-sql語句的代碼流量。
4.使用存儲過程使您能夠增強對執行計劃的重復使用,由此可以通過使用遠程過程調用
(rpc)
處理伺服器上的存儲過程而提高性能。rpc
封裝參數和調用伺服器端過程的方式使引擎能夠輕松地找到匹配的執行計劃,並只需插入更新的參數值。
5.可維護性高,更新存儲過程通常比更改、測試以及重新部署程序集需要較少的時間和精力。
6.代碼精簡一致,一個存儲過程可以用於應用程序代碼的不同位置。
7.增強安全性:
a、通過向用戶授予對存儲過程(而不是基於表)的訪問許可權,它們可以提供對特定數據的訪問;
b、提高代碼安全,防止
sql注入(但未徹底解決,例如,將數據操作語言--dml,附加到輸入參數);
c、sqlparameter
類指定存儲過程參數的數據類型,作為深層次防禦性策略的一部分,可以驗證用戶提供的值類型(但也不是萬無一失,還是應該傳遞至資料庫前得到附加驗證)。
缺點就是:
1、大量的利用過程,會對伺服器壓力比較大。
