在win7中运行mysql创建一个存储过程 这是在mysql深入浅出中的语句 有两个不懂的地方 如下代码
DELIMITER $$
CREATE PROCEDURE film_in_stock(IN P_film_id INT,in_store_id INT,OUT p_film_count INT)
READS SQL DATA
BEGIN
SELECT id FROM customer
WHERE film_id=p_film_id AND store_id=p_store_id AND inventory_in_stock(inventory id);
SELECT oid_customer INTO p_film_count;
END $$
DELIMITER ;
第一个是READS SQL DATA 什么的sql数据 这哥是干什么的 第二个是where 语句中的第二个and 创建的存储过程中的名字还是什么东东 求高手解答
DELIMITER $$
CREATE PROCEDURE film_in_stock(IN P_film_id INT,in_store_id INT,OUT p_film_count INT)
READS SQL DATA
BEGIN
SELECT id FROM customer
WHERE film_id=p_film_id AND store_id=p_store_id AND inventory_in_stock(inventory id);
SELECT oid_customer INTO p_film_count;
END $$
DELIMITER ;
第一个是READS SQL DATA 什么的sql数据 这哥是干什么的 第二个是where 语句中的第二个and 创建的存储过程中的名字还是什么东东 求高手解答
第二个 and后面的 inventory_in_stock 看起来像是你自己写的一个函数 请自己去数据库里面看看
inventory_in_stock是自定义函数吧
类似问题可以直接参考MYSQL的官方免费手册中的说明如下。
READS SQL DATA indicates that the routine contains statements that read data (for example, SELECT), but not statements that write data. inventory_in_stock 是自定义存储函数