关于mysql存储过程变量的问题? 关于mysql存储过程变量的问题?变量什么时候前面要加@符号,用declare声明的变量与前者有和区别,我不懂? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 前面加@代表会话变量,作用域是当前登录的账户,declare申明的变量只在存储过程内部有效。通过下面的例子你就能明白:mysql> create procedure pro1() -> begin -> declare d int; -> select max(id) into d from o; -> set @dd=0; -> select max(id) into @dd from o; -> end; -> //Query OK, 0 rows affected (0.05 sec)mysql> call pro1; -> //Query OK, 0 rows affected (0.00 sec)mysql> select @dd; -> //+------+| @dd |+------+| 2 |+------+1 row in set (0.00 sec)mysql> select d//ERROR 1054 (42S22): Unknown column 'd' in 'field list' PHPCMS的一些问题!PHP的也可以! oracle用法,头疼啊头疼 自己写一个PHP 转码函数 access数据库分页怎么实现? 关于相对路径的问题 php 日期 月份 询问: extract() 出错 【非常紧急!关于MYSQL的回滚】 PHP随机生成随机数目的值 php exec('java -jar /data/jodconverter.jar /data/01.doc /data/01.pdf') 帮忙看看这个正则 php基础问题
通过下面的例子你就能明白:mysql> create procedure pro1()
-> begin
-> declare d int;
-> select max(id) into d from o;
-> set @dd=0;
-> select max(id) into @dd from o;
-> end;
-> //
Query OK, 0 rows affected (0.05 sec)mysql> call pro1;
-> //
Query OK, 0 rows affected (0.00 sec)mysql> select @dd;
-> //
+------+
| @dd |
+------+
| 2 |
+------+
1 row in set (0.00 sec)mysql> select d//
ERROR 1054 (42S22): Unknown column 'd' in 'field list'