salix/db/routines/vn/functions/currency_getRate.sql

30 lines
664 B
SQL

DELIMITER $$
CREATE OR REPLACE DEFINER=`vn`@`localhost` FUNCTION `vn`.`currency_getRate`(
vSelf VARCHAR(3),
vDated DATE
)
RETURNS DECIMAL(10,2)
NOT DETERMINISTIC
READS SQL DATA
BEGIN
/**
* Returns the rate exchange based on the specified currency
* and yesterday's exchange rate.
*
* @param vSelf The currency code
* @param vDated The date of exchangue
* @return vForeignRate The rate e of currency exchange
*/
DECLARE vForeignRate FLOAT UNSIGNED;
SELECT value INTO vForeignRate
FROM referenceRate
WHERE dated = IFNULL(vDated, util.yesterday())
AND currencyFk = vSelf
ORDER BY dated DESC
LIMIT 1;
RETURN vForeignRate;
END$$
DELIMITER ;