ホームページ  >  記事  >  データベース  >  MySQL简略存储过程示例(持续追加)

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

WBOY
WBOYオリジナル
2016-06-07 16:25:041128ブラウズ

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;
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。