【澳门金沙vip】MySql存储过程—3、变量

mysql 存储过程变量的定义,mysql存储过程变量

 Mysql变量:

   1、DECLARE variable_name datatype(size) DEFAULT default_value;
 

     此处声明的相当于一个局部变量 ,在end 之后便失效。

     声明多个:DECLARE x, y INT DEFAULT 0
  

 

  2、set @p=1;

 
 此处的session变量不需要声明,mysql会自动根据值类型来确定类型,这种变量要在变量名称前面加上“@”符号,叫做会话变量,代表整个会话过程他都是有作用的,这个有点类似于全局变量一样。这种变量用途比较广,因为只要在一个会话内(就是某个应用的一个连接过程中),这个变量可以在被调用的存储过程或者代码之间共享数据。

 

 3、 变量赋值的方式,除了set,还可以使用select …..into…..的方式

 

  参考:

存储过程变量的定义,mysql存储过程变量
Mysql变量: 1、 DECLAREvariable_namedatatype( size)
DEFAULTdefault_value; 此处声明的相当于一个局部变量…

 Mysql变量:

 

  参考:

另外有种变量叫做会话变量(session variable),也叫做用户定义的变量(user
defined
variable)。这种变量要在变量名称前面加上“@”符号,叫做会话变量,代表整个会话过程他都是有作用的,这个有点类似于全局变量一样。这种变量用途比较广,因为只要在一个会话内(就是某个应用的一个连接过程中),这个变量可以在被调用的存储过程或者代码之间共享数据。下面看个简单的例子,以理解这种变量和本地变量的区别:

 
 此处的session变量不需要声明,mysql会自动根据值类型来确定类型,这种变量要在变量名称前面加上“@”符号,叫做会话变量,代表整个会话过程他都是有作用的,这个有点类似于全局变量一样。这种变量用途比较广,因为只要在一个会话内(就是某个应用的一个连接过程中),这个变量可以在被调用的存储过程或者代码之间共享数据。

MySql存储过程—1、SQL存储过程的基础知识

 3、 变量赋值的方式,除了set,还可以使用select …..into…..的方式

 

  2、set @p=1;

 

 

同程序里面一样,定义了变量,我们也需要在程序中对他赋值,下面是示例代码:

     此处声明的相当于一个局部变量 ,在end 之后便失效。

看到这里把products的记录数赋给了total_products这个变量。所以如果上面我们表格内是3个记录的话,这里total_products就是等于3了

 

3、变量的Scope(作用范围)

 

这里定义了一个是local的变量,一个是session的变量,对于session的变量,不需要定义,mysql根据你赋给该变量的值来确定类型(更详细的需要另一篇文章来解释:>)。

   1、DECLARE variable_name datatype(size) DEFAULT default_value;
 

     声明多个:DECLARE x, y INT DEFAULT 0
  

DECLARE variable_name datatype(size) DEFAULT default_value;   

  www.2cto.com  

DECLARE total_products INT DEFAULT 0

相关链接:
MySql存储过程1、SQL存储过程的基础知识
澳门金沙vip,
MySql存储过程2、第一个MyS…

[sql] 

表示定义了两个变量x、y,整形,默认值为0

在Mysql里面可以像我们写代码中一样定义变量来保持中间结果,看下面的格式: