30 lines
664 B
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 ;
|