日期:2014-05-16 浏览次数:20735 次
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
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
CALL getShang('ABC1122',@groupName); SELECT @groupName;