29 lines
759 B
Markdown
29 lines
759 B
Markdown
# Fonctions
|
||
|
||
Une fonction PostgreSQL est un objet de la base qui exécute un bloc de code (SQL ou PL/pgSQL) et **retourne une valeur**.
|
||
Elle permet d’automatiser des opérations réutilisables, éventuellement avec des paramètres.
|
||
|
||
```sql
|
||
insert into exchange_rate values
|
||
('EUR', '1999-01-04', 1),
|
||
('USD', '1999-01-04', 1.1789),
|
||
('YEN', '1999-01-04', 133.73);
|
||
```
|
||
|
||
```sql
|
||
create or replace function latest_exchange_rate (
|
||
p_code text, -- Les paramètres d'entrée
|
||
p_date date
|
||
)
|
||
returns decimal -- Le type de retour
|
||
language sql -- Pas besoin du langage procédural PL/pgSQL. C'est une simple requête SQL
|
||
as $$
|
||
select rate
|
||
from exchange_rate
|
||
where currency_code = p_code
|
||
and date < p_date
|
||
order by date desc
|
||
limit 1;
|
||
$$;
|
||
```
|