我照着书上的:
 create procedure p11()
 BEGIN
  declare x1 char(5) default 'outer';
  BEGIN
    declare x1 char(5) default 'inner';
   select x1;
    END;
  select x1;
  END;
call p11();结果只显示: |  x1    |
           |  inner |
但是书上说还应该有个 |    x1    |
                   |    outter |
为什么我的mysqlmanager 显示不出来呢 ?是不是书上哪里写错了?

解决方案 »

  1.   

    在SQLYOG下测试,有两个结果inner、outter,在
    BEGIN END中变量值不同,mysqlmanager没有用过,查找一下
    是否还有一个结果
      

  2.   

    安装EMS MYSQL MANAGER,运行上述P11,结果有两个,P11、P112
    ,你自己试试吧。
      

  3.   

    我就是在EMS MYSQL MANAGER上运行的呀 但是不可以的 这是怎么回事呢?
      

  4.   

    进入EMS MYSQL MANAGER->点开SP->将P11点中->右键->EDIT PROCEDURE->
    点 EXECUTE PROCEDURE->右边窗口->P11、P12
    我是在4.0。5.1下做上述操作,自己试试吧。
      

  5.   

    1、确定你是用EMS MYSQL MANAGER;
    2、再重复一遍:
    进入MANAGER后->选择服务器即数据库->左边面板 点PROCEDURE->
    展开后选择P11->右键->EDIT PROCEDURE->
    点 EXECUTE PROCEDURE->右边窗口->P11、P11 2 
    3、你用的是什么版本,没有什么小海豚的图标。
      

  6.   

    我用的那个名字 是 EMS SQL Manager Lite for mysql 
    图标名字是myManager
    你有印象么
      

  7.   

    我用的是SQL MANAGER 2007 FOR MYSQL(4.4.0.3)
      

  8.   

    你的程序输出结果 :
    +-------+
    | x1    |
    +-------+
    | outer |
    +-------+
    create procedure p11()
    BEGIN
      declare x1 char(5) default 'outer';
      BEGIN
        declare x1 char(5) default 'inner';
      select x1 as a;
        END;
      select x1 as b;  END; 
    输出结果:+-------+
    | a     |
    +-------+
    | inner |
    +-------+
    1 row in set (0.00 sec)+-------+
    | b     |
    +-------+
    | outer |
    +-------+
    1 row in set (0.02 sec)