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