`
jayghost
  • 浏览: 442253 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

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

    博客分类:
  • SQL
 
阅读更多

一、变量的定义 
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
分享到:
评论

相关推荐

    mysql存储过程之创建(CREATE PROCEDURE)和调用(CALL)及变量创建(DECLARE)和赋值(SET)操作方法

    MySQL存储过程是数据库中一种非常实用的功能,它允许开发者封装一系列SQL语句成一个可重复使用的单元,便于管理和执行复杂的数据库操作。本篇文章将详细探讨如何在MySQL中创建存储过程、调用存储过程以及声明和赋值...

    mysql 存储过程 实战

    ### MySQL存储过程实战知识点 #### 一、存储过程概述 MySQL 存储过程是一种预编译的 SQL 脚本,它可以包含复杂的逻辑控制结构、循环等操作,并且可以接受参数,执行完后还可以返回结果。存储过程可以提高数据处理...

    mysql存储过程实现分页

    ### MySQL存储过程实现分页 #### 背景与需求 在数据库操作中,分页是一种常见的需求,尤其是在处理大量数据时。通过分页技术,可以有效地减少每次查询的数据量,提高系统的响应速度和用户体验。MySQL作为一种广泛...

    MySQL存储过程 MySQL存储过程

    ### MySQL存储过程详解 #### 一、MySQL存储过程概述 MySQL 存储过程是一种服务器端的编程技术,它允许开发者创建可重复使用的代码模块。这些模块可以包含一系列复杂的 SQL 语句和其他流程控制语句。MySQL 5.0 版本...

    MySQL实验报告5(存储过程与函数)(1)(1).pdf

    根据提供的文件内容,本篇实验报告主要围绕MySQL数据库中存储过程和函数的应用,涵盖了创建存储过程、函数、游标以及异常处理等高级特性。下面将详细解析报告中的每个知识点。 1. 创建存储过程 存储过程是一种在...

    Mysql存储过程和函数

    ### MySQL存储过程与函数详解 #### 一、概述 MySQL是一种广泛使用的开源关系型数据库管理系统,在数据管理和存储方面提供了强大的支持。其中,存储过程和函数是MySQL提供的两种重要的编程特性,它们可以帮助开发者...

    MYSQL存储过程总结[定义].pdf

    MySQL存储过程是数据库管理系统中的一种重要功能,它允许开发者编写包含一系列SQL语句的可重复使用的代码块。在MySQL 5及以上版本中,存储过程极大地提高了数据库操作的效率和灵活性。下面将对存储过程的几个关键...

    MySQL 存储过程

    1. **变量声明与赋值**:可以在存储过程中声明局部变量,并对其进行赋值操作。 2. **条件判断**:支持IF...ELSE、CASE WHEN等条件语句。 3. **循环结构**:支持WHILE、REPEAT等循环控制结构。 4. **错误处理**:通过...

    MYSQL存储过程.pdf

    根据提供的文件信息,我们可以深入探讨MySQL存储过程的相关知识点,包括其基本语法、数据类型与运算符、流程控制以及输入和输出等内容。 ### MySQL存储过程概述 MySQL存储过程是一种预编译的SQL脚本,可以存储在...

    MySQL存储过程的实现及其高级特性的应用

    内容概要:本文详细介绍了MySQL存储过程的各种功能和技术细节,包括变量的定义与赋值、传入与传出参数、条件语句(如if-then-else)、循环语句(如while和repeat)、游标的使用方法、函数的定义与使用以及事件调度器...

    MYSQL触发器与存储过程.ppt

    MySQL中的存储过程和触发器是数据库管理中两个重要的高级特性,它们极大地增强了数据库的灵活性和安全性,同时也优化了性能。 **存储过程**是预编译的SQL语句集合,存储在数据库服务器上,可以在需要时被调用执行,...

    MYSQL的存储过程和函数简单写法

    【MySQL存储过程与函数简介】 MySQL的存储过程和函数是数据库管理中强大的工具,它们允许开发者将一组SQL语句组织在一起,形成一个可重用的模块,以执行复杂的业务逻辑。这种概念类似于高级编程语言(如Java)中的...

    mysql存储过程

    【MySQL存储过程】是数据库管理系统中的一个重要特性,它允许用户预先定义一组SQL语句和控制结构,形成一个可重用的程序单元。存储过程在创建后存储在数据库中,可以通过名称调用,减少了重复编码的工作量,提高了...

    MySQL存储过程

    MySQL存储过程是数据库管理系统中的一种重要功能,它允许开发者预编译一系列的SQL语句,形成一个可重复使用的代码块。这种技术在处理复杂业务逻辑、提高数据操作效率以及减少网络传输等方面具有显著优势。本篇文章将...

    MySql的存储过程学习小结 附pdf文档下载

    在熟悉其他数据库系统(如MS SQL SERVER)的背景下,了解MySQL存储过程的差异和特点是非常有益的。例如,MS SQL SERVER中的存储过程可能支持更复杂的T-SQL语法,而MySQL的存储过程则更侧重于SQL标准的实现。理解这些...

    mysql存储过程 在动态SQL内获取返回值的方法详解

    MySQL存储过程是数据库中用于执行一组特定操作的预编译的SQL语句集合。它们允许开发人员封装复杂的逻辑,提高代码复用性和数据库操作效率。在动态SQL中获取返回值是存储过程的一个重要功能,尤其在处理不确定的数据...

Global site tag (gtag.js) - Google Analytics