MySQL的存储过程和函数之 变量

8 篇文章 0 订阅

(1)声明变量的语法:

DECLARE  var_name[,...] type  [DEFAULT  value] 

示例:

DECLARE  last_month_start   DATE;

(2) 变量的作用域

BEGIN...END 块中

(3)注意事项:

a. 变量声明语句要放在复合语句的开头,并且在任何其他语句的前面

b. 可以一次声明多个相同类型的变量

c. 可以给变量赋默认值

(4) 变量赋值的语法:

SET  var_name=expr[,var_name=expr]...

示例:

SET  last_month_start=DATE_SUB(CURRENT_DATE(),INTERVAL 1 MONTH)

注1: 可以将查询结果赋予变量,但请注意仅限查询结果为一行的时候。

SELECT col_name[,...]  INTO  var_name [,...] table_expr;

 

示例展示:(函数的参数只有IN类型)

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_effective_date

         AND  payment.customer_id=p_customer_id

         RETURN  v_rentfees +  v_overfees - v_payments;

END $$

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值