同上,谢谢了。本人刚刚学习,请高人指点一下。举个例子。

解决方案 »

  1.   

    DELIMITER $$CREATE PROCEDURE p_result()
    BEGIN
        SELECT * FROM tb;
    END$$
    DELIMITER ;------------------
    CALL p_result();
      

  2.   

    很不幸的时,MySQL的函数,目前还不支持记录集的返回。无法返回一个记录集。 一般是生成一个指定的临时表。
      

  3.   

    mysql> delimiter //
    mysql>
    mysql> CREATE PROCEDURE simpleproc (IN myId INT)
        -> BEGIN
        ->  CREATE TEMPORARY TABLE tmpMyTbl LIKE t2;
        ->  insert into tmpMyTbl
        ->  select * from t2 where id<myId;
        -> END;
        -> //
    Query OK, 0 rows affected (0.09 sec)mysql>
    mysql> delimiter ;
    mysql> call simpleproc(10);
    Query OK, 9 rows affected (0.13 sec)mysql> select * from tmpMyTbl;
    +----+------+
    | id | col  |
    +----+------+
    |  1 |    2 |
    |  2 |    4 |
    |  3 |    6 |
    |  4 |    8 |
    |  5 |   10 |
    |  6 |   12 |
    |  7 |   14 |
    |  8 |   16 |
    |  9 |   18 |
    +----+------+
    9 rows in set (0.00 sec)mysql>
    TEMPORARY  表在connection 断开后会自动被删除,是session级的。
      

  4.   

    SP可以返回记录集,在VFP、DELPHI中测试,均可得到