【數據庫視頻】-存儲過程

 WHAT

說白了,存儲過程就是可以在其中暫時放置參數,輸出參數,結果集的錦囊,這樣要用的時候就可以隨時調用。

WHY 

這裏雖然介紹了,但是字太多,不容易理解,我自己總結一下。

1,實時性;2.方便;3.安全;4.模塊化;5.減少網絡流量。這個好像在自考的時候遇見過,好熟悉啊!

另外,視頻還告訴我們存儲過程都有哪些:用戶自定義;系統;擴展這三種。

HOW

接下來,我們看一下存儲過程的相關操作。

創建

這個格式寫得太複雜,其中,@parameter 是爲存儲過程聲明參數的意思,varying 是說存儲過程的類型,是默認還是存儲輸出參數,recompile是重新編輯,encrytion 是加密。

從第二張圖片我們也能看出來,存儲過程雖然格式複雜,但是其創建並不難。

使用帶默認值的參數

這個帶有默認值的參數,就是我們的語句中的@departmentID,@zhiwei,我還納悶,爲什麼這裏部門編號和職位要用英文版,原來這是存儲過程中的參數。

使用輸出函數

上面的例子便使用了output輸出函數,但是這裏出現了一個錯誤,另外,還有第二張圖片是另一個例子,這個例子呢,告訴我們,存儲過程不僅能夠查詢語句,還能執行各種操作。

修改

別看他這個格式這麼多字,但是跟創建的時候非常相似,只不過將create 改成了alter。要想修改,首先要找到你想要修改的存儲過程,找到數據庫--展開可編程性--展開存儲過程,然後便可以找到已經創建的存儲過程,右擊找到修改,進行修改就可以了。

如果想要獲取存儲過程的語句,按照上面第三張圖片的順序就可以。

刪除

 

不論是數據庫,表格還是存儲過程,刪除都是最簡單的,而且都有兩種方式:使用語句drop proc +名稱,或者使用系統操作。

規則

簡單來說,就是,設計存儲過程時,對象,臨時表都可以引用,包括若要引用另一個存儲過程。存儲過程僅受最大爲128MB的內存限制,且最大數量爲2100.

存儲過程之系統、臨時、嵌套以及查看

系統存儲過程就是已經存在的存儲過程,我們可以直接查看或者調用,而臨時存儲過程則只對當前頁面的語句有效。臨時存儲過程和一般存儲過程一樣,需要我們自己創建;正如圖二所示;嵌套嘛,就肯定不是一個,自然我們也能看到我們能夠同時看到兩個表格被調用出來,但這也只能同時嵌套32層;所以這裏報錯了,那麼是因爲什麼呢?經過查證後,我發現exec get_classinfo 執行了兩次,就會報錯,別的博客上說的是,第二次在執行是在測試,沒有限制@@nestlevel參數,因而形成了死循環。

而查看存儲過程與上述獲取存儲過程語句的方式是一樣的。

 

發佈了47 篇原創文章 · 獲贊 3 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章