Les procédures et les fonctions PL/PGSQL
Vous avez sûrement déjà entendu parler des procédures stockées, et nous y sommes enfin. Ces éléments sont essentiels pour organiser vos scripts en sous-programmes. Dans ce module, explorons les détails des procédures et des fonctions PL/PGSQL.
Les procédures et les fonctions sont des sous-programmes. Les fonctions retournent un résultat tandis que les procédures ne retournent rien.
Procédures
Une procédure est un sous-programme qui permet
drop procedure if exists public.sp_example_procedure(date);
create or replace procedure public.sp_example_procedure(rundt date)
as
$$
begin
raise notice 'rundt : %', rundt;
--- Bloc Instructions 1 ---
--- Bloc Instructions 2 ---
--- Bloc Instructions 3 ---
end;
$$ language plpgsql;
perform
comme ceci
Fonctions
Contrairement à une procédure, une fonction retourne un résultat qui peut être récupéré dans une variable.
drop function if exists public.fn_example_function(date);
create or replace function public.fn_example_function(rundt date)
returns character varying
as
$$
begin
raise notice 'rundt : %', rundt;
--- Bloc Instructions 1 ---
--- Bloc Instructions 2 ---
--- Bloc Instructions 3 ---
return 'Y';
end;
$$ language plpgsql;
Dans un bloc transactionel, la fonction est appelée grâce au mot clé perform
comme ceci
Extract Transform Load
Les procédures et les fonctions sont utlisées pour implémenter des logiques ETL
drop function if exists public.fn_example_etl(date);
create or replace function public.fn_example_etl(rundt date)
returns character varying
as
$$
begin
raise notice 'rundt : %', rundt;
--- BLOCK 1 : EXTRACT ---
create temp table public.
--- BLOCK 2 : TRANSFORM ---
--- BLOCK 3 : LOAD ---
return 'Y';
end;
$$ language plpgsql;
Les procédures et les fonctions sont utilisées pour mettre en œuvre des logiques ETL, faisant d'elles des éléments cruciaux dans le domaine de la gestion de bases de données. Explorez davantage ces fonctionnalités pour optimiser vos projets.