我创建了一个简单的程序:
CREATE PROCEDURE `simpleProcedure` ( IN `parameter` INT) NOT DETERMINISTIC READS SQL DATA SQL SECURITY DEFINER
BEGIN
SELECT *
FROM table1;
END
在phpMyAdmin中使用CALL simpleProcedure(1)
运行此过程不会显示查询结果...如何让phpMyAdmin在过程中显示查询结果?
答案 0 :(得分:0)
您需要 OUT 参数才能返回结果,请参阅http://dev.mysql.com/doc/refman/5.0/en/create-procedure.html。
来自sakila数据库的示例:
DELIMITER $$
CREATE DEFINER=`root`@`127.0.0.1` PROCEDURE `film_in_stock`(IN p_film_id INT, IN p_store_id INT, OUT p_film_count INT)
READS SQL DATA
BEGIN
SELECT inventory_id
FROM inventory
WHERE film_id = p_film_id
AND store_id = p_store_id
AND inventory_in_stock(inventory_id);
SELECT FOUND_ROWS() INTO p_film_count;
END$$