28 lines
No EOL
947 B
PL/PgSQL
28 lines
No EOL
947 B
PL/PgSQL
begin;
|
|
|
|
-- more precision for currency conversion
|
|
|
|
DROP VIEW public.v_currency_last_value;
|
|
|
|
ALTER TABLE public.currency_history ALTER COLUMN ch_value TYPE numeric(20, 8) USING ch_value::numeric;
|
|
|
|
|
|
CREATE OR REPLACE VIEW public.v_currency_last_value
|
|
AS WITH recent_rate AS (
|
|
SELECT currency_history.currency_id,
|
|
max(currency_history.ch_from) AS rc_from
|
|
FROM currency_history
|
|
GROUP BY currency_history.currency_id
|
|
)
|
|
SELECT cr1.id AS currency_id,
|
|
cr1.cr_name,
|
|
cr1.cr_code_iso,
|
|
ch1.id AS currency_history_id,
|
|
ch1.ch_value,
|
|
to_char(recent_rate.rc_from::timestamp with time zone, 'DD.MM.YYYY'::text) AS str_from
|
|
FROM currency cr1
|
|
JOIN recent_rate ON recent_rate.currency_id = cr1.id
|
|
JOIN currency_history ch1 ON recent_rate.currency_id = ch1.currency_id AND recent_rate.rc_from = ch1.ch_from;
|
|
|
|
insert into version (val,v_description) values (187,'Currency : more decimals');
|
|
commit; |