《MySQL存儲(chǔ)過(guò)程》要點(diǎn):
本文介紹了MySQL存儲(chǔ)過(guò)程,希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
存儲(chǔ)過(guò)程的好處:
業(yè)務(wù)邏輯被“暗藏”在數(shù)據(jù)庫(kù)里面,從而避免敏感的數(shù)據(jù)被透露
能簡(jiǎn)化應(yīng)用法式代碼
跨平臺(tái)性
如果您必需一次執(zhí)行幾個(gè)語(yǔ)句,一個(gè)存儲(chǔ)過(guò)程比客戶(hù)端程序逐條地執(zhí)行語(yǔ)句要快的多,因?yàn)椴恍枰魏蔚膩?lái)往返數(shù)據(jù)
CREATE
[DEFINER = {user | CURRENT_USER}]
PROCEDURE<name> (PARAMETER(S)...)
[characteristic(s)...] routine_body
The syntax for creating a function is:
CREATE
[DEFINER = {user | CURRENT_USER }]
FUNCTION sp_name ([parameter])
RETURNS type
[characteristic(s)...] routine_body
CREATE 創(chuàng)立
DEFINER 定義者,表現(xiàn)存儲(chǔ)過(guò)程或者函數(shù)的所有者,如果省略,講使用默認(rèn)所有者(當(dāng)前用戶(hù))
RPOCEDURE<name> 表現(xiàn)創(chuàng)建一個(gè)名字為name的存儲(chǔ)過(guò)程
FUNCTION<name> 表現(xiàn)創(chuàng)建一個(gè)名稱(chēng)為name的函數(shù)
【IN | OUT | INOUT】<parameter name> type
IN 指參數(shù)是一個(gè)輸入變量,它僅向過(guò)程提供一個(gè)值
OUT 指參數(shù)是只是用來(lái)存儲(chǔ)返回值
INOUT 指參數(shù)可用于輸入變量和返回值
parameter name(參數(shù)名稱(chēng))是Type的類(lèi)型名
RETURNS 表現(xiàn)返回?cái)?shù)據(jù)類(lèi)型
DETERMINISTIC 確定性
NOT DETERMINISTIC 非確定性
實(shí)例一、
CREATE PROCEDURE user_avg(OUT average NUMERIC(5,2))
BEGIN
SELECT AVG(age) INTO average FROM users
END;
執(zhí)行該存儲(chǔ)過(guò)程:
CALL user_avg(@a);
SELECT @a;
實(shí)例二、
CREATE FUNCTION is_young(uuname VARCHAR(64))
RETURNS BOOLEAN
DETERMINISTIC
BEGIN
DECLARE age_check DECIMAL(5,2);
DECLARE is_young BOOLEAN;
SELECT age INTO age_check FROM users WHERE username =uuname;
IF (age_check<40) THEN
SET is_young =1;
ELSE
SET is_young =0;
END IF;
RETURN(is_young);
END
數(shù)據(jù)庫(kù)存在的admin1的時(shí)候返回1
數(shù)據(jù)庫(kù)不存在的admin11的時(shí)候返回0
每天三分鐘,知識(shí)效率高.輕文章,更高效.
歡迎存眷同名微信公眾賬號(hào)DevOps24h.
《MySQL存儲(chǔ)過(guò)程》是否對(duì)您有啟發(fā),歡迎查看更多與《MySQL存儲(chǔ)過(guò)程》相關(guān)教程,學(xué)精學(xué)透。維易PHP學(xué)院為您提供精彩教程。
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/7075.html