成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

MySQL--存儲過程

定義
一個復(fù)雜邏輯對SQL語句的批量處理,
通過一個名字存儲
創(chuàng)建
delimiter // 修改終止符
-- 存儲過程沒有返回值
delimiter //    ---- 把終止符;修改成//
create procedure porc2()
begin
-- 可執(zhí)行語句
insert into mm_users values (0,'xiaownag','xxx');
select * from mm_users;
end
//       ---- 填寫終止符
delimiter ;   ---- 還原原來的終止符以執(zhí)行
查看
-- 查看 MySQL.proc
   select db,name,type from mysql.proc;
調(diào)用
-- 調(diào)用 如果存儲過程沒有參數(shù) 小括號可以省略
call proc();
--在pymysql中執(zhí)行存儲過程
    cursor.callproc('存儲對象名')
刪除
-- 刪除
drop procedure proc_stu;
delete from mysql.proc where name = 'porc1';
- 存儲過程和函數(shù)的區(qū)別
- 課件
-- 函數(shù)在使用時候有哪些限制 
-- select 語句不能夠在函數(shù)中執(zhí)行 
-- 函數(shù)中除 select into之外其他的 select 語句都不能夠執(zhí)行 
-- select into 是將查詢的結(jié)果賦值給某一個變量 
delimiter // 
create function f4(in a int,in b int) returns int 
begin 
-- 定義一個變量 res 
declare res int default 0; 
-- 將 a + b的結(jié)果賦值給 res 
select count(*) from mm_users into res; 
-- set res = a + b; 
-- 返回 res 
return res; 
end 
// 
delimiter ; 
-- 通過存儲過程來實現(xiàn)函數(shù)中不能夠調(diào)用 select 語句的弊端 
-- 但是存儲過程沒有返回值 
-- 可以通過 out 類型的參數(shù)來給存儲過程實現(xiàn)多個返回值的功能
- 相同點
相同點
存儲過程和函數(shù)都是為了可重復(fù)的執(zhí)行操作數(shù)據(jù)庫的 sql 語句的集合.
存儲過程和函數(shù)都是一次編譯,就會被緩存起來,
下次使用就直接命中緩存中已經(jīng)編譯好的 sql,
不需要重復(fù)編譯
減少網(wǎng)絡(luò)交互,減少網(wǎng)絡(luò)訪問流量
- 不同點
不同點
標(biāo)識符不同,函數(shù)的標(biāo)識符是 function, 過程:procedure
函數(shù)中有返回值,且必須有返回值,而過程沒有返回值,
但是可以通過設(shè)置參數(shù)類型(in,out)來實現(xiàn)多個參數(shù)或者返回值
函數(shù)使用 select 調(diào)用,存儲過程需要使用 call 調(diào)用
select 語句可以在存儲過中調(diào)用,
但是除了 select ... into 之外的 select 語句都不能再函數(shù)中調(diào)用
通過 in out 參數(shù),過程相關(guān)函數(shù)更加靈活,可以返回多個結(jié)果
在實際開發(fā)中根據(jù)個人喜好選擇使用函數(shù)或者存儲過程
- 參數(shù)/返回值
-- 參數(shù)的類型
-- in 傳入類型的參數(shù),函數(shù)或者存儲過程的參數(shù) 默認(rèn)就是傳入類型的參數(shù)
-- out 傳出類型的參數(shù), 給存儲過程實現(xiàn)多個返回值的功能
-- inout  既可以傳入又可以傳出 一般不用 一個參數(shù)要表達(dá)多個意思,
造成參數(shù)的語義不夠清晰 函數(shù)的參數(shù)的最大個數(shù): 1024
procedure p1(
    in arg1 int,   # 讓存儲過程內(nèi)部使用
    out arg2 varchar(50)
    inout arg3 int
)
begin
    ...
end
@i1 = "alex"
# @il 引用
call p1(1, @i1, @i2)  # @設(shè)置一個變量@i1= null

文章題目:MySQL--存儲過程
網(wǎng)頁URL:http://jinyejixie.com/article36/posjsg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、網(wǎng)站內(nèi)鏈小程序開發(fā)、營銷型網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、動態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
湟中县| 卓尼县| 连山| 乌兰浩特市| 宜城市| 尉犁县| 句容市| 崇州市| 会泽县| 宜都市| 宜都市| 辽阳县| 双江| 策勒县| 高清| 舞阳县| 休宁县| 大化| 胶州市| 偏关县| 商丘市| 伊春市| 徐闻县| 平凉市| 辉南县| 咸丰县| 大新县| 巴林左旗| 湘乡市| 博乐市| 望都县| 垦利县| 于都县| 沂源县| 原平市| 漳平市| 张家港市| 南昌市| 垣曲县| 大方县| 珠海市|