MySql存储过程—3、变量】的更多相关文章

MySQL  存储过程的变量 变量是一个命名数据对象,变量的值可以在存储过程执行期间更改.我们通常使用存储过程中的变量来保存直接/间接结果. 这些变量是存储过程的本地变量. 注意:变量必须先声明后,才能使用它. 声明变量 要在存储过程中声明一个变量,可以使用DECLARE语句,如下所示: DECLARE variable_name datatype(size) DEFAULT default_value; 下面来更详细地解释上面的语句: 首先,在DECLARE关键字后面要指定变量名.变量名必须遵…
BEGIN DECLARE v_request_count INT; #申请次数 DECLARE v_plan_count INT; #安排次数 DECLARE v_learn_count INT; #学习次数 DECLARE v_learned_count INT; #已经学习次数 DECLARE v_pass_count INT; #通过次数 DECLARE v_cid INT; DECLARE v_course_id INT; ; /* 终止标记 */ DECLARE cur CURSOR…
最近由于有同事编写了存储函数,需要进行验证,但是对存储过程一直不是很了解,所以抽时间了解了一下存储过程的基本语法.本篇文章主要包括介绍了存储过程的5个小语法:declare语句的变量.定义条件.处理程序.光标.流程控制构造.在找了很久的资料后,其实发现最实在的资料就是官方的参考手册.我参考的是MySQL5.1参考手册官方简体中文版.chm. 存储过程:为以后的使用而保存的一条或多条Mysql语句的集合. DECLARE 语句:不同项目局域到一个子程序:局部变量.条件.处理程序.光标.DECLAR…
存储过程中@是用来标识每一次运行存储过程都会保存的值.而直接命名是每一次都会初始化的局部变量.@@是用来标识全局变量. CREATE PROCEDURE prc_test ()BEGIN DECLARE var2 INT DEFAULT 1; SET var2 = var2 + 1; SET @var2 = @var2 + 1; SELECT var2, @var2;END; SET @var2 = 1; CALL prc_test();DROP PROCEDURE prc_test…
Mysql存储过程查询结果赋值到变量的方法   把查询结果赋值到变量,大部分情况下使用游标来完成,但是如果明确知道查询结果只有一行(例如统计记录的数量,某个字段求和等),其实可以使用set或into的方式来实现赋值.示例代码: 01 drop table if exists test_tbl; 02 create table test_tbl (name varchar(20), status int(2)); 03 insert into test_tbl values('abc', 1),(…
使用SELECT …INTO语句为变量赋值 在MySQL存储过程中,可以使用SELECT …INTO语句对变量进行赋值,该语句在数据库中进行查询,并将得到的结果赋值给变量.SELECT …INTO语句的语法格式如下: SELECT col_name[,...] INTO var_name[,...] table_expr col_name:要从数据库中查询的列字段名: var_name:变量名,列字段名按照在列清单和变量清单中的位置对应,将查询得到的值赋给对应位置的变量: table_expr:…
(2.11)Mysql之SQL基础——存储过程 关键字:mysql存储过程 查看存储过程: []SELECT * FROM information_schema.ROUTINES WHERE ROUTINE_NAME = 'proc_or_func' []SHOW CREATE PROCEDURE proc_countByName; []SHOW PROCEDURE STATUS LIKE 'proc_%'; 1.存储过程的基本语法(不带参数) --(1)通用定义 create procedur…
mysql存储过程中,定义变量有两种方式:1.使用set或select直接赋值,变量名以 @ 开头.例如:set @var=1;可以在一个会话的任何地方声明,作用域是整个会话,称为会话变量. 2.以 DECLARE 关键字声明的变量,只能在存储过程中使用,称为存储过程变量,例如:DECLARE var1  INT DEFAULT 0;  主要用在存储过程中,或者是给存储传参数中. 两者的区别是:在调用存储过程时,以DECLARE声明的变量都会被初始化为 NULL.而会话变量(即@开头的变量)则不…
一.MySQL 创建存储过程 "pr_add" 是个简单的 MySQL 存储过程,这个存储过程有两个 int 类型的输入参数 "a"."b",返回这两个参数的和. drop procedure if exists pr_add; -- 计算两个数之和 create procedure pr_add(   a int,   b int)begin   declare c int;    if a is null then      set a =…
MySQL 存储过程 ```sql CREATE PROCEDURE myprocedure (IN para01 INTEGER) BEGIN DECLARE var01 CHAR(10); IF para01 = 17 THEN SET var01 = 'birds'; ELSE SET var01 = 'beasts'; END IF; INSERT INTO table1 VALUES(var01); END ``` 创建实例 ```sql CREATE PROCEDURE p1 /*声…