欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql創(chuàng)建存儲(chǔ)過(guò)程及函數(shù)詳解

 更新時(shí)間:2021年12月02日 16:57:27   作者:十有八⑨  
大家好,本篇文章主要講的是mysql創(chuàng)建存儲(chǔ)過(guò)程及函數(shù)詳解,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話(huà)記得收藏一下,方便下次瀏覽

1. 存儲(chǔ)過(guò)程

1.1. 基本語(yǔ)法

create procedure name ([params])

UNSIGNED [characteristics] routine_body

?params : in|out|inout 指定參數(shù)列表 代表輸入與輸出

routine_body: SQL代碼內(nèi)容,以begin ........? ?end

characteristics: 指定存儲(chǔ)過(guò)程特性,包含5種

? ? ? ? ? ? ? ? ? ? ? ? ? ?1 DETERMINISTIC 不確定的
2 NO SQL 沒(méi)有SQl語(yǔ)句,當(dāng)然也不會(huì)修改數(shù)據(jù)
3 READS SQL DATA 只是讀取數(shù)據(jù),當(dāng)然也不會(huì)修改數(shù)據(jù)
4 MODIFIES SQL DATA 要修改數(shù)據(jù)
5 CONTAINS SQL 包含了SQL語(yǔ)句

1.2 創(chuàng)建一個(gè)指定執(zhí)行權(quán)限的存儲(chǔ)過(guò)程

create DEFINER=`root`@`%` procedure name ([params])

UNSIGNED [characteristics] routine_body

DEFINER:指明誰(shuí)有權(quán)力來(lái)執(zhí)行。

1.3?DELIMITER 的使用

? ? ? ”DELIMITER //“ 表示設(shè)置“//”符號(hào)為結(jié)束語(yǔ),因?yàn)閙ysql中默認(rèn)語(yǔ)句結(jié)束為分號(hào)‘;',為了避免存儲(chǔ)過(guò)程與mysql語(yǔ)句符號(hào)沖突,所以有時(shí)使用DELIMITER來(lái)改變結(jié)束語(yǔ)符號(hào),要配合end //來(lái)使用;

?示例:創(chuàng)建一個(gè)root賬戶(hù)執(zhí)行的存儲(chǔ)過(guò)程,輸出給定字符串的長(zhǎng)度

DELIMITER //
CREATE definer=`root`@`%` PROCEDURE `avgFruitPrice`(
in f_string VARCHAR(200)
)
BEGIN
    select length(f_string);
END//

2. 創(chuàng)建函數(shù)?

函數(shù)的創(chuàng)建與存儲(chǔ)過(guò)程相同

示例

DELIMITER //
CREATE definer=`root`@`%` FUNCTION `my_length`(
f_string VARCHAR(200)
)
RETURNS INT(11)
UNSIGNED  NO SQL
BEGIN
    return length(f_string);
END//

注意: 創(chuàng)建函數(shù)需要注意3個(gè)地方,

1.??RETURNS: 需指定返回類(lèi)型

2.?UNSIGNED ?NO SQL 需指定存儲(chǔ)過(guò)程特性

3.return: 返回需要的數(shù)據(jù)

遇見(jiàn)的錯(cuò)誤:

如報(bào)錯(cuò)如上信息就是沒(méi)有指定存儲(chǔ)過(guò)程特性。

存儲(chǔ)過(guò)程函數(shù)中可以通過(guò)mysql查詢(xún)結(jié)果為其參數(shù)復(fù)制: 其語(yǔ)句為select .... into

begin

declare onename char(50) default‘0';

declare twoname char(50);

select f_name, b_name into onename, twoname from t_user where id =1;

.......

end//

說(shuō)明:

declare: 存儲(chǔ)過(guò)程及函數(shù)內(nèi)部定義變量

default:默認(rèn)值

到此這篇關(guān)于mysql創(chuàng)建存儲(chǔ)過(guò)程及函數(shù)詳解的文章就介紹到這了,更多相關(guān)mysql存儲(chǔ)過(guò)程及函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論