我有我在哪裏重複計算,像避免做同樣的計算多次存儲過程
DROP PROCEDURE sp_alters;
DELIMITER $$
CREATE
/*[DEFINER = { user | CURRENT_USER }]*/
PROCEDURE `sp_alters`()
/*LANGUAGE SQL
| [NOT] DETERMINISTIC
| { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
| SQL SECURITY { DEFINER | INVOKER }
| COMMENT 'string'*/
BEGIN
SELECT
`fn_getDiscount`(`t_orderitem`.`a_orderitemid`,`t_orderitem`.`a_quantity`) AS `discount`,
fn_getnewvalues(`fn_getDiscount`(`t_orderitem`.`a_orderitemid`,`t_orderitem`.`a_quantity`),a_orderitemid) as newvalue
FROM t_orderitem;
END$$
DELIMITER ;
這裏存儲過程裏面,你看到,我裏面調用同一個存儲過程fn_getDiscount 2倍。所以我想避免它。我可以存儲到一個變量並使用它嗎?
你可以在這裏發佈整個存儲過程嗎? – 2013-04-04 10:52:17