# 带有输入和输出参数的过程
mysql> create procedure proc03(in gender char(2),out count int)
-> begin
-> select count(*) into count from student where sex = gender;
-> end//
Query OK, 0 rows affected (0.00 sec)
# 调用过程,这里的 @count 代表会话变量,可以理解为全局变量,名字任意
mysql> call proc03('男',@count)//
Query OK, 1 row affected (0.00 sec)
mysql> select @count//
+--------+
| @count |
+--------+
| 29 |
+--------+
1 row in set (0.00 sec)
15. 自定义函数
# 注意:定义函数的语法与定义存储过程的语法很类似,只是必须要指定返回值类型,即:在 begin 前 returns int
create procedure func01()
returns int
begin
declare h int;
select hour(now()) into h;
return h;
end//
# 函数的调用
select func01()//