关于mysql存储过程变量的问题?
关于mysql存储过程变量的问题?变量什么时候前面要加@符号,用declare声明的变量与前者有和区别,我不懂?
@是用来屏蔽错误或警告的,当前面加了@符号后,若此处有错或警告,网页将不显示出来。 前面加@代表会话变量,作用域是当前登录的账户,declare申明的变量只在存储过程内部有效。 通过下面的例子你就能明白: SQL code: 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'引用 关于mysql存储过程变量的问题?变量什么时候前面要加@符号,用declare声明的变量与前者有和区别,我不懂? 很对!引用 @是用来屏蔽错误或警告的,当前面加了@符号后,若此处有错或警告,网页将不显示出来。 刚才引用错了
相关问答:
如题,这三个在win7下使用会有什么兼容性问题吗? 由于我最近在使用win7,就懒得进xp了! 自己用windows 2008有一年多了,没出现任何问题。 win7测试版也用过,不会有什么问题的,放心。 当然你最 ......
mySql5.1的 mysql command line client命令窗口每次一点它,它就一闪而过,不会显示了.这是什么问题? 在你的WINDOWS上,先按 [开始], 然后 [运行] ,输入 cmd 然后回车 然后再在这个DOS窗体中, cd C:\Program ......
我使用C#连接mysql数据库读取其中的数据, 读取数据表中的Varchar类型的数据,如果是英文能够正常读取出来, 而如果是中文,就会显示为“??”, 如果把varchar类型换成binary类型,Asp.net程序能够正 ......
一个行业网站,要实现的功能要求为: 一搜索表单可选搜索 产品/资讯/商家,搜索时希望先搜标题后全文,当前的数据量估计3万多,定位期望在百万级也可用。 数据类型为innodb,当前的方法是对关键词进行 ......
if(mysql_init(&mysql)==NULL) { sprintf(ErrMsg,"We are outof Memory"); return(false); } if(!mysql_real_connect(&mysql,"localhost","test" ......