MySQL简略存储过程示例(持续追加)

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;
MySQL简略存储过程示例(持续追加)

相关文章:

你感兴趣的文章:

标签云: