mysql_存储过程

1.查看存储过程信息的三个方式

(1)#查看存储过程的 状态

SHOW PROCEDURE STATUS like 'ydfbop_oper_loadincome';

(2)#查询存储过程创建信息

SHOW create PROCEDURE ydfbop_oper_loadincome;

(3)#通过 information_schema.ROUTINES查询存储过程信息

SELECT * from information_schema.ROUTINES  WHERE ROUTINE_NAME ='ydfbop_oper_loadincome';

2.变量的定义
DECLARE date_start DATE;

3.变量的赋值
直接赋值使用SET,可以赋值常量或者表达式

查询结果赋值给变量,要求返回结果必须只有一行

CREATE FUNCTION get_customer_balance(p_customer_id INT,p_effective_date datetime)
    RETURNS DECIMAL(5,2)
    DETERMINISTIC
    READS SQL DATA
BEGIN
    ...
    DECLARE v_payments DECIMAL(5,2);
    ...
    SELECT IFNULL(SUM(payment.amount),0) INTO v_payments FROM payment
    WHERE payment.payment_date <= p_effec_date
    AND payment.customer_id = p_customer_id;
    ...
RETURN v_rentfees + v_overfees - v_payments;
END;

4.定义条件和处理

DECLARE condition_name  CONDITION  FOR condition_value

condition_value: SQLSTATE[value] sqlstate_value | mysql_error_code

示例:主键重复时会退出,不再执行其他语句
CREATE PROCEDURE actor_insert()
BEGIN
    set @x=1;
    INSERT INTO actor(actor_id,first_name,last_name) values (201,'test','201');
    set @x=2;
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值