问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

mysql 存储过程中变量的定义与赋值操作

发布网友 发布时间:2022-04-28 21:45

我来回答

1个回答

热心网友 时间:2022-04-07 21:01

一、变量的定义
mysql中变量定义用declare来定义一局部变量,该变量的使用范围只能在begin...end
块中使用,变量必须定义在复合语句的开头,并且是在其它语句之前,也可以同时申明多个变量,如果需要,可以使用default赋默认值。
定义一个变量语法如下:
declare
var_name[,...]
type[default
value]看一个变量定义实例
declare
last
date;二、mysql存储过程变量赋值
变量的赋值可直接赋值与查询赋值来操作,直接赋值可以用set来操作,可以是常量或表达式如果下
复制代码
代码如下:
set
var_name=
[,var_name
expr]...给上面的last变量赋值方法如下
set
last
=
date_sub(
current_date(),interval
1
month);下面看通过查询给变量赋值,要求查询返回的结果必须为一行,具体操作如下
select
col
into
var_name[,...]
table_expr我们来通过查询给v_pay赋值。
create
function
get
_cost(p_custid
int,p_eff
datetime)
return
decimal(5,2)
deterministic
reads
sql
data
begin
declare
v_pay
decimail(5,2);
select
ifnull(
sum(pay.amount),0)
into
vpay
from
payment
where
pay.payd<=p_eff
and
pay.custid=pid
reutrn
v_rent
+
v_over
-
v_pay;
end
$$
好了,这篇简单的存储过程中变量的定义赋值教程就到这里了,下面我们会接着讲关于myql存储过程的条件的定义与处理。
以下是其它网友的补充
在MySQL的存储过程中,可以使用变量,它用于保存处理过程中的值。
定义变量使用DECLARE语句,语法格式如下:
DECLARE
var_name[,...]
type
[DEFAULT
value]
其中,var_name为变量名称,type为MySQL支持的任何数据类型,可选项[DEFAULT
value]为变量指定默认值。一次可以定义多个同类型的变量,各变量名称之间以逗号“,”隔开。
定义与使用变量时需要注意以下几点:

DECLARE语句必须用在DEGIN…END语句块中,并且必须出现在DEGIN…END语句块的最前面,即出现在其他语句之前。

DECLARE定义的变量的作用范围仅限于DECLARE语句所在的DEGIN…END块内及嵌套在该块内的其他DEGIN…END块。

存储过程中的变量名不区分大小写。
定义后的变量采用SET语句进行赋值,语法格式如下:
SET
var_name
=
expr
[,var_name
=
expr]
...
其中,var_name为变量名,expr为值或者返回值的表达式,可以使任何MySQL支持的返回值的表达式。一次可以为多个变量赋值,多个“变量名=值”对之间以逗号“,”隔开。
例如:
复制代码
代码如下:
begin
declare
no
varchar(20);
declare
title
varchar(30);
set
no='101010',title='存储过程中定义变量与赋值';
end
提示:存储过程中所有的关键字也是不区分大小写的,如BEGIN可以写出begin。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
表格列求和公式怎么设置 求和函数公式怎么输入 北京注册成立一个公司需要多少钱 北京公司都是什么 手机导航地图语音怎么下载 如何分别真金和仿金首饰 怎样区分真金和仿金首饰呢 小学生新年晚会主持人的串词!!(不要太多)急 大大后天就需要了!!!_百度... 周年晚会策划公司 奥格瑞玛传送门大厅在哪 奥格瑞玛传送门大厅怎么走 考高级教师资格证学历有要求吗 怎样将一个数据库中的存储过程复制到另一个数据库中 请问报考高中的教师资格证,学历不是全日制的本科可以报考吗? 创建mysql存储过程语法? 陈姓兔年男孩名字带继字 今天面试新成员,有些被淘汰了,需要短信通知,如何写? 李姓继字辈男孩起名 帮帮忙啊 朱姓继辈男孩起名??(和继同音亦可) 陈姓男孩女孩取名,名字中间必须带“继” 求一男孩名字,姓胡,这辈中间是个继字,取名胡继X,集思广益,感谢 姓杨的男孩名字要怎么取?(中间要有一个继字) 信用卡欠了2万5会坐牢吗 姓凌中间要有继的男孩名字 铝板厚度3毫米在国家标准厚度允许误差是多少?最好有表格的。谢谢了 急... 我有张交行信用卡欠不到2万,一时还不上,会不会坐牢 男孩姓鄂,中间带个继字,起个什么名字好听, 有好多节目搞笑背景音效是nononono 姓李继字辈的男孩取什么名字好听 铝单板厚度国家标准有么? 是多少?谢谢 胡姓男孩起名带继字辈 如何学习mysql的存储过程 基本语法,游标 MySQL创建存储过程语法分隔符问题,怎么解决 mysql存储过程 in 怎么用 mysql存储过程语法错误 Mysql存储过程修改,熟悉mysql的来。 MySQL的存储过程和存储函数(UDF)的区别 优乐美奶茶中含的有那些成分? 优乐美奶茶含有哪些成分? 我考了全国信息化工程师项目B证书和BIM工程师(项目管理师),不知道怎么用? 优乐美奶茶一共有几种口味? 优乐美奶茶有营养吗? 优乐美和香飘飘有区别吗? 经常喝优乐美奶茶会不会发胖? 过期了一个月的优乐美奶茶能喝吗? 香飘飘珍珠奶茶和优乐美珍珠奶茶多少钱一杯? 教师工资9级与7级差额 可以喝优乐美珍珠奶茶吗 优乐美奶茶喝多了 对人体会有害吗? 优乐美珍珠奶茶为什么比普通的贵 优乐美奶茶有什么坏处吗?