国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數(shù)據(jù)庫技術(shù)|

服務(wù)器之家 - 數(shù)據(jù)庫 - Mysql - MySQL存儲(chǔ)過程圖文實(shí)例講解

MySQL存儲(chǔ)過程圖文實(shí)例講解

2022-03-09 22:27程裕強(qiáng) Mysql

雖然MySQL的存儲(chǔ)過程一般情況下是不會(huì)使用到的,但是在一些特殊場景中,還是有需求的,下面這篇文章主要給大家介紹了關(guān)于MySQL存儲(chǔ)過程的相關(guān)資料,需要的朋友可以參考下

MySQL存儲(chǔ)過程

存儲(chǔ)過程是數(shù)據(jù)庫的一個(gè)重要的功能,MySQL 5.0以前并不支持存儲(chǔ)過程,這使得MySQL在應(yīng)用上大打折扣。好在MySQL 5.0開始支持存儲(chǔ)過程,這樣即可以大大提高數(shù)據(jù)庫的處理速度,同時(shí)也可以提高數(shù)據(jù)庫編程的靈活性。

 

MySQL存儲(chǔ)過程的創(chuàng)建

語法

CREATE PROCEDURE 過程名([[IN|OUT|INOUT] 參數(shù)名 數(shù)據(jù)類型[,[IN|OUT|INOUT] 參數(shù)名 數(shù)據(jù)類型…]]) [特性 ...] 過程體

DELIMITER //
CREATE PROCEDURE myproc(OUT s int)
  BEGIN
    SELECT COUNT(*) INTO s FROM students;
  END
  //
DELIMITER ;

分隔符

MySQL默認(rèn)以";"為分隔符,如果沒有聲明分割符,則編譯器會(huì)把存儲(chǔ)過程當(dāng)成SQL語句進(jìn)行處理,因此編譯過程會(huì)報(bào)錯(cuò),所以要事先用“DELIMITER //”聲明當(dāng)前段分隔符,讓編譯器把兩個(gè)"//"之間的內(nèi)容當(dāng)做存儲(chǔ)過程的代碼,不會(huì)執(zhí)行這些代碼;“DELIMITER ;”的意為把分隔符還原。

參數(shù)

存儲(chǔ)過程根據(jù)需要可能會(huì)有輸入、輸出、輸入輸出參數(shù),如果有多個(gè)參數(shù)用","分割開。MySQL存儲(chǔ)過程的參數(shù)用在存儲(chǔ)過程的定義,共有三種參數(shù)類型,IN,OUT,INOUT:

IN參數(shù)的值必須在調(diào)用存儲(chǔ)過程時(shí)指定,在存儲(chǔ)過程中修改該參數(shù)的值不能被返回,為默認(rèn)值OUT:該值可在存儲(chǔ)過程內(nèi)部被改變,并可返回INOUT:調(diào)用時(shí)指定,并且可被改變和返回

過程體

過程體的開始與結(jié)束使用BEGIN與END進(jìn)行標(biāo)識(shí)。

MySQL存儲(chǔ)過程圖文實(shí)例講解

 

1、簡單實(shí)例

create procedure demo.p_test1()
begin
-- 使用 declare語句聲明一個(gè)變量
declare id int default 0;
declare name varchar(50) default '';
-- 使用set語句給變量賦值
set id=7521;
-- 將users表中id=1的名稱賦值給username
select ename into name from demo.emp where empno=id;
-- 返回變量
select name;
end;

MySQL存儲(chǔ)過程圖文實(shí)例講解

 

2、通過游標(biāo)遍歷結(jié)果集

create table demo.test(
	id int,
	cnt varchar(50)
)
create procedure demo.p_test2()
-- 通過游標(biāo)遍歷結(jié)果集
begin
-- 聲明變量
declare id int default 0;
declare name varchar(50) default '';
declare done boolean default 1;
-- 聲明游標(biāo)
declare rs cursor for SELECT deptno,dname from demo.dept ;
-- 定義異常:
declare continue handler for SQLSTATE '02000' SET done = 0; 
-- 打開游標(biāo)
open rs;
delete from demo.test;
while done do 
	begin
	  fetch rs into id,name;
    INSERT into demo.test SELECT e.deptno,count(1) from demo.emp e WHERE e.deptno =id group by e.deptno;
   end ;
end while;
-- 關(guān)閉游標(biāo)
close rs;
end;
call demo.p_test2();

MySQL存儲(chǔ)過程圖文實(shí)例講解

SELECT * from  demo.test;

MySQL存儲(chǔ)過程圖文實(shí)例講解

 

總結(jié)

到此這篇關(guān)于MySQL存儲(chǔ)過程講解的文章就介紹到這了,更多相關(guān)MySQL存儲(chǔ)過程內(nèi)容請搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://blog.csdn.net/chengyuqiang/article/details/122562302

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美亚洲国产一区 | 久久久精品国产99久久精品芒果 | 久在线| 欧美一区二区三区视频 | 成人在线免费观看 | 91中文在线 | 精品第一页 | 天堂√在线观看一区二区 | 美女毛片 | 欧美一级片在线 | 亚洲国产精品人人爽夜夜爽 | 在线观看国产中文字幕 | 亚洲精品乱码久久久久久蜜糖图片 | 久久久天堂国产精品女人 | 成人av视屏 | 成人在线免费观看视频 | 婷婷五月色综合 | 国产人成精品一区二区三 | 日韩成人在线观看 | 国产午夜精品久久久久久久 | 亚洲国产精品一区二区久久 | 俺去俺来也www色官网cms | 亚洲视频在线观看 | 国产一级大片 | 欧美高清一区二区 | 日韩成人在线观看 | 国精产品99永久一区一区 | 黄网站涩免费蜜桃网站 | 欧美国产日韩一区 | 中文字幕国产视频 | 一级毛片免费看 | 国产电影一区二区三区图片 | 激情五月婷婷 | 日韩大片在线观看 | 亚洲综合色视频在线观看 | av成人在线观看 | 午夜小电影 | 午夜激情影院 | 亚洲免费视频一区二区 | 噜噜噜噜噜在线视频 | 久久精品久久久久电影 |