MySQL简略存储过程示例(持续追加)
程序员文章站
2023-12-26 11:44:57
...
MySQL简单存储过程示例(持续追加) 示例一: CREATE PROCEDURE test(IN myid INT(3),IN myname VARCHAR(22),IN myage INT(3))if myid=0THEN INSERT INTO a(name,age) VALUES(myname,myage);ELSE UPDATE a SET a.name=myname,a.age=myage WHERE a.id=myid;END I
MySQL简单存储过程示例(持续追加)示例一:
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;