《Mysql應(yīng)用mysql存儲(chǔ)過(guò)程簡(jiǎn)單實(shí)例》要點(diǎn):
本文介紹了Mysql應(yīng)用mysql存儲(chǔ)過(guò)程簡(jiǎn)單實(shí)例,希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
導(dǎo)讀:例一,mysql存儲(chǔ)過(guò)程:
CREATE PROCEDURE test(IN myid INT(3),IN myname VARCHAR(22),IN myage INT(3)) if myid=0 THEN INSE...
MYSQL數(shù)據(jù)庫(kù)例一,mysql存儲(chǔ)過(guò)程:
?
CREATE PROCEDURE test(IN myid INT(3),IN myname VARCHAR(22),IN myage INT(3))?
if myid=0?
THEN?
?INSERT INTO a(name,age) VALUES(myname,myage);?
ELSE?
?UPDATE a SET a.name=myname,a.age=myage WHERE a.id=myid;?
END IF?
MYSQL數(shù)據(jù)庫(kù)例二,mysql存儲(chǔ)過(guò)程:
?
CREATE PROCEDURE getShang(IN worknum VARCHAR(10),OUT outName VARCHAR(20))?
?
BEGIN?
DECLARE ret int;?
DECLARE p1 VARCHAR(10);?
DECLARE p2 VARCHAR(10);?
?
set ret = (SELECT gt.iparentgroup?
FROM grouptbl gt,groupmembertbl gmt?
WHERE gt.igroupid = gmt.igroupid?
AND gmt.smemberid = worknum);?
?
if ret = 0?
?
THEN
?set p1=(SELECT gt.sgroupname?
?FROM grouptbl gt,groupmembertbl gmt?
?WHERE gt.igroupid = gmt.igroupid?
?AND gmt.smemberid = worknum);?
?SET outName = p1;?
?
ELSE??
?set p2 = (?
?SELECT grouptbl.sgroupname?
?FROM grouptbl WHERE grouptbl.igroupid =??
?(SELECT gt.iparentgroup?
?FROM grouptbl gt,groupmembertbl gmt?
?WHERE gt.igroupid = gmt.igroupid?
?AND gmt.smemberid = worknum)?
?);?
?SET outName = p2;?
END IF;?
?
END?
MYSQL數(shù)據(jù)庫(kù)調(diào)用:
?
CALL getShang('ABC1122',@groupName);?
SELECT @groupName;?
MYSQL數(shù)據(jù)庫(kù)注:例一和例二中因?yàn)橐呀?jīng)傳入了參數(shù)值如:IN myid INT(3),那么就不必重復(fù)定義如:DECLARE myid int;不然這個(gè)myid應(yīng)該始終是默認(rèn)值0!!!
MYSQL數(shù)據(jù)庫(kù)例三,mysql存儲(chǔ)過(guò)程:
?
CREATE PROCEDURE modAdministrativeSystem(?
IN personName VARCHAR(20),?
IN project VARCHAR(100),?
IN utilizationPercent FLOAT(3,2),?
IN sTime date,?
IN special VARCHAR(250)?
)?
?
BEGIN?
?
DECLARE pjId INT;?
DECLARE utilizationId INT;?
?
set pjId = (?
??? SELECT ppt.projectPersonId?
??? FROM projectpersontbl ppt?
??? WHERE ppt.projectId =??
??? (?
??? SELECT pt.projectId?
??? FROM projecttbl pt?
??? WHERE pt.projectName = project?
??? )?
??? AND ppt.personNumber =??
??? (?
??? SELECT p.worknum?
??? FROM person p?
??? WHERE p.name = personName?
?? )?
);?
?
set utilizationId = (?
??????? SELECT put.utilizationId?
??????? FROM personutilizationtbl put?
??????? WHERE put.projectPersonId = pjId?
??????? AND put.startTime = sTime?
);?
?
if utilizationId is null?
?
THEN?
??
INSERT INTO personutilizationtbl(projectPersonId,utilizationPercent,startTime,specialExplanation)??
VALUES(pjId,utilizationPercent,sTime,special);???
?
ELSE?
??
UPDATE personutilizationtbl SET personutilizationtbl.utilizationPercent =? utilizationPercent,?
personutilizationtbl.specialExplanation = special,personutilizationtbl.startTime = sTime?
WHERE personutilizationtbl.utilizationId = utilizationId;??
?
END IF;?
?
END?
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/6198.html