mysql 两种自定义变量变量:

1.用户变量:以"@"开始,形式为"@变量名"

此种标量不需要声明,可以直接@变量名,可以在当前回话中的任何作用域使用 ,这一点和sqlserver有点不一样 ,

sqlserver 中的@变量名 只能在当前回话当前作用域中使用 ,而且是需要声明的 。

例子:动态执行的sql

set @Querycount="select Account into @totalcount  from AccountInfo";

  prepare Querycount from  @Querycount;
  execute  Querycount;
  deallocate prepare Querycount;
select @totalcount

 

2.局部变量:作用范围在begin到end语句块之间。在该语句块里设置的变量

declare语句专门用于定义局部变量。只能在当前回话的当前作用域使用
使用decalre 声明变量的时候需要将变量声明部分放在程序块的顶部 ,否则会提示 ‘语法错误’