1、任务实施内容
1.1 创建带参数的存储过程
1.2 调用存储过程
1.3 管理存储过程
2、任务实施步骤
1.1 创建带参数的存储过程
mysql> delimiter $$
mysql> create procedure p_warn(inclname char(13),out warnstr char(10))
-> begin
-> declare sum int(11);
-> select sum(or_sum) into sum from orders inner join customers onorders.c_id=customers.c_id where c_name=clname;
-> if sum>=10000 then
-> set warnstr='重点关注客户';
-> select * from customers where c_name=clname;
-> else
-> set warnstr='需要挖掘的客户';
-> end if;
-> end
-> $$
Query OK, 0 rows affected
1.2 调用存储过程
mysql> call p_warn('邓力夫',@warnstr);
Query OK, 1 row affected
mysql> select @warnstr;
执行结果如下:
+----------------+
|@warnstr |
+----------------+
|需要挖掘的客户 |
+----------------+
1row in set
1.3 管理存储过程
1、 查看存储过程定义信息
mysql> show create procedure p_warn \G;
2、 修改存储过程
修改p_warn存储过程,该存储过程实现订单总价格大于20000的会员,需要重点关注,订单总价格小于20000的会员,需要挖掘。
mysql> delimiter $$
mysql>drop procedure if exists p_warn()
mysql> create procedure p_warn(inclname char(13),out warnstr char(10))
-> begin
-> declare sum int(11);
-> select sum(or_sum) into sum from orders inner join customers onorders.c_id=customers.c_id where c_name=clname;
-> if sum>=20000 then
-> set warnstr='重点关注客户';
-> select * from customers where c_name=clname;
-> else
-> set warnstr='需要挖掘的客户';
-> end if;
-> end
-> $$
Query OK, 0 rows affected
3、删除存储过程
mysql>Drop procedure p_warn;