各位大佬:     我在mysql中新建一存储过程,非常简单,目的是返回系统的时间,代码如下:     DELIMITER $$     DROP PROCEDURE IF EXISTS `shoppingpos`.`GetServerDateTime` $$
     CREATE PROCEDURE `GetServerDateTime`(out dat datetime)
     BEGIN
         SET dat = NOW();
     END $$     DELIMITER ;     但是运行的时候返回的都是空值,这是为什么呢?用的数据库桌面管理软件 mysqladministrtor  query browser.

解决方案 »

  1.   

    如何调用的?OUT变量一般要调用2次
    call GetServerDateTime(@a);  -- 返回null
    select @a   --- 返回out变量
      

  2.   

    mysql> call GetServerDateTime(@a)$$
    Query OK, 0 rows affected (0.00 sec)mysql> select @a$$
    +---------------------+
    | @a                  |
    +---------------------+
    | 2010-06-15 19:47:50 |
    +---------------------+
    1 row in set (0.00 sec)mysql>
      

  3.   


    call GetServerDateTime(@y);
    select @y;