mysql存储过程中 declare 和 set 定义变量的区别
来源:互联网 发布:数据分散程度 编辑:程序博客网 时间:2024/05/16 05:55
mysql存储过程中,定义变量有两种方式:
1.使用set或select直接赋值,变量名以 @ 开头.
例如:set @var=1;
可以在一个会话的任何地方声明,作用域是整个会话,称为会话变量。
2.以 DECLARE 关键字声明的变量,只能在存储过程中使用,称为存储过程变量,例如:
DECLARE var1 INT DEFAULT 0;
主要用在存储过程中,或者是给存储传参数中。
两者的区别是:
在调用存储过程时,以DECLARE声明的变量都会被初始化为 NULL。而会话变量(即@开头的变量)则不会被再初始化,在一个会话内,只须初始化一次,之后在会话内都是对上一次计算的结果,就相当于在是这个会话内的全局变量。
在存储过程中,使用动态语句,预处理时,动态内容必须赋给一个会话变量。
例:
set @v_sql= sqltext;
PREPARE stmt FROM @v_sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
4 0
- mysql存储过程中 declare 和 set 定义变量的区别
- mysql存储过程中 declare 和 set 定义变量的区别
- mysql存储过程中 declare 和 set 定义变量的区别
- mysql存储过程中 declare 和 set 定义变量的区别
- mysql存储过程中 declare 和 set 定义变量的区别
- mysql 存储过程中 declare set 变量 区别 difference
- MySql存储过程之变量declare set
- mysql的set和declare区别
- PL/SQL中,declare定义变量和variable定义变量的区别?
- mysql 存储过程中变量的定义与赋值操作
- mysql 存储过程中变量的定义与赋值操作
- mysql存储过程和函数定义变量
- mysql创建存储过程declare 变量时报错
- Mysql存储过程的declare声明变量必须放在最前面
- linux 中 set,env,export,declare显示shell变量的区别
- linux 中 set,env,export,declare显示shell变量的区别
- linux 中 set,env,export,declare显示shell变量的区别
- linux中set,env,export,declare显示shell变量的区别
- 全排列 算法题
- dr结构的抓包分析
- gdb调试器命令学习总结笔记
- java编译的莫名奇妙问题总结 .
- Rajawali 教程02创建一个动态壁纸和导入模型
- mysql存储过程中 declare 和 set 定义变量的区别
- 设计模式概述
- ZXingObjC 崩溃问题解决方法
- H3CNE 307题 RIPv2和OSPF用到的组播地址 及 更新时间
- chapter 21 The String Library
- android textView 折叠 展开 ExpandableTextView
- 英文SEO教程:外链创立实操
- 使用选择器语法来查找元素
- oracle 常用树形结构的表查询