标签:creat 传参 参数 color create 模式 begin value mod
DELIMITER $$
CREATE PROCEDURE `employees`.`a`(参数列表)
BEGIN
sql1;
sql2;
...
END$$
DELIMITER ;
DELIMITER $$:定义语句结束标记,存储过程体中,每条SQL都使用“;”结束,所有语句作为一个过程体执行,如果过程体中只有一条SQL语句,可以省略begin和end
参数列表:参数模式 参数名 参数类型
参数模式 :
IN : 输入参数,单独传参。
OUT : 输出参数,作为返回值的参数。
INOUT: 既输入有输出,可做输入也可做输出。
CALL 存储过程名(实参列表)
DELIMITER $$ USE `world`$$ DROP PROCEDURE IF EXISTS `t1`$$ CREATE DEFINER=`root`@`10.0.0.%` PROCEDURE `t1`() BEGIN SELECT COUNT(*) FROM world.city; END$$ DELIMITER ;
CALL t1()
DELIMITER $$ CREATE /*[DEFINER = { user | CURRENT_USER }]*/ PROCEDURE `world`.`t2`( IN num INT,OUT num1 INT) /*LANGUAGE SQL | [NOT] DETERMINISTIC | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA } | SQL SECURITY { DEFINER | INVOKER } | COMMENT ‘string‘*/ BEGIN INSERT INTO t2 VALUES(num); SELECT COUNT(*) INTO num1 FROM t2; SELECT num1; END$$ DELIMITER ;
SET @n2:=0; CALL t2(2,@n2) SELECT * FROM t2;
DELIMITER $$ CREATE /*[DEFINER = { user | CURRENT_USER }]*/ PROCEDURE `world`.`t3`( INOUT a INT, INOUT b INT, OUT c INT) /*LANGUAGE SQL | [NOT] DETERMINISTIC | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA } | SQL SECURITY { DEFINER | INVOKER } | COMMENT ‘string‘*/ BEGIN SELECT a*2 INTO a; SELECT b*2 INTO b; SELECT a+b INTO c; SELECT a,b,c; END$$ DELIMITER ;
SET @a:=5; SET @b:=10; SET @c:=0; CALL t3(@a,@b,@c)
标签:creat 传参 参数 color create 模式 begin value mod
原文地址:https://www.cnblogs.com/zh-dream/p/13088419.html