首页
/
每日頭條
/
科技
/
mysql創建一個帶有參數的存儲過程
mysql創建一個帶有參數的存儲過程
更新时间:2025-12-24 19:22:07

mysql創建一個帶有參數的存儲過程(mysql的存儲過程的概念及創建語法詳解)1

存儲過程

存儲過程是一組為了完成特定功能的 SQL 語句集合。使用存儲過程的目的是将常用或複雜 的工作,預先用 SQL語句寫好并用一個指定名稱存儲起來,這個過程經編譯和優化後存儲 在數據庫服務器中,因此稱為存儲過程。以後需要數據庫提供與已定義好的存儲過程的功 能相同的服務時,隻需用 CALL 語句來調用存儲過程名字,即可自動完成命令。

優點
  1. 運行效率高。存儲過程在創建時已經對其進行了語法分析及優化工作,并且存儲過程一旦執行,在

内存中會保留該存儲過程,當數據庫服務器再次調用該存儲過程時,可以直接從内存中進行讀取,

所以執行速度更快。

2.降低了網絡通信量。使用存儲過程可以實現客戶機隻需通過網絡向服務器發出存儲過程的名字和參

數,就可以執行許多條的 SQL 語句。在存儲過程包含上百行的 SQL 語句時,執行性能尤為明顯。

3.業務邏輯可以封裝在存儲過程中,方便實施企業規則。利用存儲過程将企業規則的運算程序存儲在

數據庫服務器中,由 RDBMS 統一來管理,當用戶的規則發生變化時,可以隻修改存儲過程,無需修

改其它的應用程序,這樣不僅容易維護,而且簡化了複雜的操作。

創建

創建存儲過程,需要使用 CREATE PROCEDURE 語句,基本語法格式如下。

CREATE PROCEDURE proc_ name ([proc_ parameter[,...]])

[characteristic ...] routine_ body

參數解釋:

(1)proc_parameter 指定存儲過程的參數列表,列表形式如下。

[IN| OUT| INOUT] param_name type

其中:

⚫ IN 表示輸入參數;

⚫ OUT 表示輸出參數;

⚫ INOUT 表示既可以輸入也可以輸出;

⚫ param_name 表示參數名稱,

⚫ type 表示參數的類型,該類型可以是 mysql 數據庫中的任意類型。

(2)characteristics 指定存儲過程的特性。

(3) routine_body是 SQL代碼的内容,可以用 BEGIN...END 來表示SQL代碼的開始和結束。

示例

1、不帶參數

查詢每個部門的人數

mysql創建一個帶有參數的存儲過程(mysql的存儲過程的概念及創建語法詳解)2

2、帶輸入參數

查詢指定部門的員工信息

mysql創建一個帶有參數的存儲過程(mysql的存儲過程的概念及創建語法詳解)3

3、帶輸出參數

查詢男員工的人數,并輸出

mysql創建一個帶有參數的存儲過程(mysql的存儲過程的概念及創建語法詳解)4

注意

由括号包圍的參數列必須總是存在。如果沒有參數,也該使用一個空參數列()。每個參數 默認都是一個 IN 參數。要指定為其他參數,可在參數名之前使用關鍵詞 OUT或 INOUT。

參數不要和表的字段名一樣

調用

CALL語句調用一個使用 CREATE PROCEDURE 創建好的存儲過程,基本語法如下。

CALL sp_ name([ parameter[,...]])

我們還是先創建一個存儲過程:

查詢指定部門的平均年齡,并調用

mysql創建一個帶有參數的存儲過程(mysql的存儲過程的概念及創建語法詳解)5

調用

mysql創建一個帶有參數的存儲過程(mysql的存儲過程的概念及創建語法詳解)6

查看

查看存儲過程有三種方式

show procedure status

show create procedure

INFORMATION_ SCHEMA. ROUTINES

mysql創建一個帶有參數的存儲過程(mysql的存儲過程的概念及創建語法詳解)7

mysql創建一個帶有參數的存儲過程(mysql的存儲過程的概念及創建語法詳解)8

mysql創建一個帶有參數的存儲過程(mysql的存儲過程的概念及創建語法詳解)9

删除

DROP PROCEDURE pro_ name;

今天我的分享就到這裡,大家有沒有什麼好的學習方法呢?歡迎來留言評論,和我們一起交流。如果喜歡我的文章,也歡迎大家關注、點贊、轉發。我是丫丫,一個專注分享項目實戰技能的IT從業者。

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
windows 10附帶的郵件應用程序
windows 10附帶的郵件應用程序
IT之家1月8日消息外媒WindowsLatest報道,此前消息稱,微軟正在為Windows10和macOS開發一款新的電子郵件客戶端,而這一次,它将基于網頁版的Outlook。微軟還計劃退役專門的UWP郵件應用,該應用是在2015年推出的...
2025-12-24
手機屏幕用一下就失靈是怎麼回事
手機屏幕用一下就失靈是怎麼回事
屏幕失靈就是因為表面局部帶電荷,通俗來講就是大家所說的帶靜電,導緻無法判斷是否有手指或其它導體(比如電容筆)按在上面。放在兜裡摩擦、經常用大力按、屏幕帶灰塵、手上汗多或者冬季幹燥人體本身帶靜電等等都有可能導緻屏幕局部荷電。而除了冬季幹燥導緻...
2025-12-24
微信視頻号開通不了
微信視頻号開通不了
微信視頻号開通不了?獲得邀請卡,微信會給已經非常活躍而有影響力的視頻号主三個内推賬戶名額,也就是“邀請卡”微信視頻号有邀請卡的用戶可以幫助3名微信好友(好友必須認識超過3個月)開通賬号,大家點擊鍊接即可進行申請我們可以從已經開通視頻号的朋友...
2025-12-24
快手發短播放量如何賺收益
快手發短播放量如何賺收益
說起運營,仿佛很多人都會那麼一點,但都隻會那麼一點,想要在激烈的行業中脫穎而出,還需要多學多看,從用戶角度出發,大數據分析,提煉貼合用戶喜愛度的内容進行創作。今天,煎寶給大家介紹如下快手短視頻運營的三大幹貨~轉需哦~粉絲畫像粉絲畫像VS粉絲...
2025-12-24
電腦c盤變紅滿了清理不掉
電腦c盤變紅滿了清理不掉
因為電腦大部分文件保存,都是默認保存在C盤,所以這就導緻很多電腦小白,把文件都放在了C盤。時間一長,電腦C盤就會"飄紅"顯示内存不足,這該怎麼辦呢?不要着急,今天教你如何一鍵清理C盤,瞬間釋放大量内存。1.簡單清理首先我們進...
2025-12-24
Copyright 2023-2025 - www.tftnews.com All Rights Reserved