首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

MySQL存储过程变量前@的含意

2012-09-07 
MySQL存储过程变量前@的含义  在MySQL存储过程变量前加@符号代表会话变量,作用域是当前登陆的帐户,DECLARE

MySQL存储过程变量前@的含义

  在MySQL存储过程变量前加@符号代表会话变量,作用域是当前登陆的帐户,DECLARE申明的变量只在存储过程内部有效。

mysql> delimiter //
mysql> CREATE PROCEDURE pro2()
??? -> BEGIN
??? -> DECLARE d int;
??? -> SELECT MAX(id) INTO d from php_coder;
??? -> SET @dd=0;
??? -> SELECT MAX(id) INTO @dd FROM php_coder;
??? -> END;
??? -> //
Query OK, 0 rows affected (0.00 sec)

mysql> call pro2();
??? -> //
Query OK, 0 rows affected (0.01 sec)

mysql> SELECT @dd;
??? -> //
+------+
| @dd |
+------+
| 7??? |
+------+
1 row in set (0.00 sec)

mysql> SELECT d//
ERROR 1054 (42S22): Unknown column 'd' in 'field list'

热点排行