如何在mysql 的procedure里面的sql的where条件用到变量,怎么写? declare V_member_id varchar(30)....select *from member mwhere m.member_id =V_member_id .....????? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 条件要传入?用IN参数select * from member m where m.member_id =@V_member_id CREATE DEFINER=`root`@`localhost` PROCEDURE `zz`(in ename varchar(20))beginselect *from member mwhere m.member_id =ename;end http://topic.csdn.net/u/20090531/13/60562c9a-74a5-414a-ae84-329d7e38c8fb.html这个贴子三楼不是已经给你例子了吗?mysql> delimiter //mysql>mysql> CREATE PROCEDURE curdemo(IN V_GROUP INT) -> BEGIN -> DECLARE done INT DEFAULT 0; -> DECLARE a INT; -> DECLARE b CHAR(16); -> -> DECLARE cur1 CURSOR FOR SELECT id,name FROM student where classid=V_GROUP; -> DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; -> -> OPEN cur1; -> -> REPEAT -> FETCH cur1 INTO a, b; -> select a,b; -> UNTIL done END REPEAT; -> -> CLOSE cur1; -> END -> -> -> //Query OK, 0 rows affected (0.20 sec)mysql>mysql> delimiter ;mysql>mysql> SELECT id,name,classid FROM student ;+----------+--------+---------+| id | name | classid |+----------+--------+---------+| 91010101 | 丁乙甲 | 10101 || 91010102 | 索春龙 | 10101 || 91010103 | 刘莉莉 | 10101 || 91010104 | 隋鑫 | 10101 || 91010105 | 长命 | 10101 || 91010201 | 河江山 | 10102 || 91010202 | 祝立业 | 10102 || 91010203 | 姚桂娇 | 10102 || 91010204 | 张冬梅 | 10102 || 91020101 | 蒋旭 | 10201 || 91020102 | 邱介臣 | 10201 || 91020103 | 王晓燕 | 10201 || 91020104 | 夏丽佳 | 10201 || 91020201 | 熊建业 | 10202 || 91020202 | 丛俊江 | 10202 || 91020203 | 周静燕 | 10202 || 91020204 | 黄爽 | 10202 || 91020301 | 魏国兴 | 10203 || 91020302 | 蒋洪涛 | 10203 || 91020303 | 倪春红 | 10203 || 91030101 | 张文天 | 10301 || 91030102 | 姜洋 | 10301 || 91030103 | 赵聪 | 10301 || 91030201 | 王飞 | 10302 |+----------+--------+---------+24 rows in set (0.00 sec)mysql>mysql> CALL curdemo(10101);+----------+--------+| a | b |+----------+--------+| 91010101 | 丁乙甲 |+----------+--------+1 row in set (0.00 sec)+----------+--------+| a | b |+----------+--------+| 91010102 | 索春龙 |+----------+--------+1 row in set (0.00 sec)+----------+--------+| a | b |+----------+--------+| 91010103 | 刘莉莉 |+----------+--------+1 row in set (0.00 sec)+----------+------+| a | b |+----------+------+| 91010104 | 隋鑫 |+----------+------+1 row in set (0.00 sec)+----------+------+| a | b |+----------+------+| 91010105 | 长命 |+----------+------+1 row in set (0.00 sec)+----------+------+| a | b |+----------+------+| 91010105 | 长命 |+----------+------+1 row in set (0.00 sec)Query OK, 0 rows affected (0.00 sec)mysql> 你们都没明白,变量的值是我在程序中间计算出来的,然后给个select的where里面做参数值这个语法我不知道 程序中算出来,然后作为存储过程的in参数传入,然后在存储过程的语句里直接引用此in参数即可。 call 存储过程名 (参数值); 在win7上配置MySQL服务器的问题。 mysql-cluster 备份和恢复该如何做 Mysql 怎样在日志中记录IP hql语句的update语句如何写? 求MySQL帮助文档 大家帮忙看看这段代码,mysql_error 希望 insert 语句执行的返回值是所插入记录的key字段,可以怎样实现? 望高手指点 请教Mysql安装好后,但是不能启动,该如何解决? 求下列数据库的ODBC驱动程序 mysql id增长问题 按月份合计 mysql 数据迁移问题,所有的.frm文件报错·
select *
from member m
where m.member_id =@V_member_id
begin
select *
from member m
where m.member_id =ename;
end
mysql>
mysql> CREATE PROCEDURE curdemo(IN V_GROUP INT)
-> BEGIN
-> DECLARE done INT DEFAULT 0;
-> DECLARE a INT;
-> DECLARE b CHAR(16);
->
-> DECLARE cur1 CURSOR FOR SELECT id,name FROM student where classid=V_GROUP;
-> DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
->
-> OPEN cur1;
->
-> REPEAT
-> FETCH cur1 INTO a, b;
-> select a,b;
-> UNTIL done END REPEAT;
->
-> CLOSE cur1;
-> END
->
->
-> //
Query OK, 0 rows affected (0.20 sec)mysql>
mysql> delimiter ;
mysql>
mysql> SELECT id,name,classid FROM student ;
+----------+--------+---------+
| id | name | classid |
+----------+--------+---------+
| 91010101 | 丁乙甲 | 10101 |
| 91010102 | 索春龙 | 10101 |
| 91010103 | 刘莉莉 | 10101 |
| 91010104 | 隋鑫 | 10101 |
| 91010105 | 长命 | 10101 |
| 91010201 | 河江山 | 10102 |
| 91010202 | 祝立业 | 10102 |
| 91010203 | 姚桂娇 | 10102 |
| 91010204 | 张冬梅 | 10102 |
| 91020101 | 蒋旭 | 10201 |
| 91020102 | 邱介臣 | 10201 |
| 91020103 | 王晓燕 | 10201 |
| 91020104 | 夏丽佳 | 10201 |
| 91020201 | 熊建业 | 10202 |
| 91020202 | 丛俊江 | 10202 |
| 91020203 | 周静燕 | 10202 |
| 91020204 | 黄爽 | 10202 |
| 91020301 | 魏国兴 | 10203 |
| 91020302 | 蒋洪涛 | 10203 |
| 91020303 | 倪春红 | 10203 |
| 91030101 | 张文天 | 10301 |
| 91030102 | 姜洋 | 10301 |
| 91030103 | 赵聪 | 10301 |
| 91030201 | 王飞 | 10302 |
+----------+--------+---------+
24 rows in set (0.00 sec)mysql>
mysql> CALL curdemo(10101);
+----------+--------+
| a | b |
+----------+--------+
| 91010101 | 丁乙甲 |
+----------+--------+
1 row in set (0.00 sec)+----------+--------+
| a | b |
+----------+--------+
| 91010102 | 索春龙 |
+----------+--------+
1 row in set (0.00 sec)+----------+--------+
| a | b |
+----------+--------+
| 91010103 | 刘莉莉 |
+----------+--------+
1 row in set (0.00 sec)+----------+------+
| a | b |
+----------+------+
| 91010104 | 隋鑫 |
+----------+------+
1 row in set (0.00 sec)+----------+------+
| a | b |
+----------+------+
| 91010105 | 长命 |
+----------+------+
1 row in set (0.00 sec)+----------+------+
| a | b |
+----------+------+
| 91010105 | 长命 |
+----------+------+
1 row in set (0.00 sec)Query OK, 0 rows affected (0.00 sec)mysql>
变量的值是我在程序中间计算出来的,
然后给个select的where里面做参数值这个语法我不知道