declare V_member_id varchar(30)
....select *
from member m
where m.member_id =V_member_id 
.....?????

解决方案 »

  1.   

    条件要传入?用IN参数
    select * 
    from member m 
    where m.member_id =@V_member_id
      

  2.   

    CREATE DEFINER=`root`@`localhost` PROCEDURE `zz`(in ename varchar(20))
    begin
    select *
    from member m
    where m.member_id =ename;
    end
      

  3.   

    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>
    
      

  4.   

    你们都没明白,
    变量的值是我在程序中间计算出来的,
    然后给个select的where里面做参数值这个语法我不知道
      

  5.   

    程序中算出来,然后作为存储过程的in参数传入,然后在存储过程的语句里直接引用此in参数即可。
      

  6.   

    call 存储过程名 (参数值);