yongchao0 2019-11-04
什么是存储过程?为什么要使用存储过程?如何使用存储过程?
<!--more-->
MySQL5 添加了对存储过程的支持,存储过程只适用于MySQL5+。
存储过程是多条SQL语句的集合,能够通过一个完整的动作实现连贯的SQL操作。
CALL productpricing( 1, // 输入 @avg // 输出 带有@ 的变量 ); SELECT @avg;
CREAT PROCEDURE ordertotal( IN onumber INT, // 输入 数据类型与建表的数据类型相同 IN taxable BOOLEAN, OUT ototal DECIMAL(8, 2) // 输出 ) COMMENT 'COMMENT' // 备注 -- Declare variable for total DECLARE total DECIMAL(8, 2) // 定义变量 -- Declare tax percentage DECLARE taxrate INT DEFAULT 6 -- Get the order total SELECT Sum(item_price*quantity) FROM orderitems WHERE order_num = onumber INTO total; // 结果注入变量 -- Is this taxable ? IF taxable THEN // 条件判断 -- YES SELECT total+(total/100*taxrate) INTO total; END IF; SELECT total INTO ototal; END;
DROP PROCEDURE productpricing;
SHOW CREATE PROCEDURE ordertotal;