db_biljou_carto on db.silva.inrae.fr
Previous topic Chapter index Next topic

Function: ps_integration_tout_stat_rel

 

 

Schema

safran

 

Owner

postgres

 

Descriptions

There is no description for function ps_integration_tout_stat_rel

 

Options

Option

Value

Returns

integer

Language

plpgsql

Parameters

There are no parameters for function ps_integration_tout_stat_rel

 

Definition

CREATE OR REPLACE FUNCTION safran.ps_integration_tout_stat_rel (
)
RETURNS integer AS
$span$
DECLARE

var_count integer; -- Nombre de cartes insérées
var_message text;
var_sql text;
r1 record;
start_date text;

BEGIN
SELECT timeofday() INTO start_date;

RAISE NOTICE 'Début de la procédure à % ...', (SELECT extract(hour from (timeofday()::timestamp))::text || ':' || extract(minute from (timeofday()::timestamp))::text);

RAISE NOTICE 'Vérification des données...';
PERFORM safran.ps_verificationDonneesPresentes('safran');
RAISE NOTICE '   --> Aucune table de données ne manque (à %)', (SELECT extract(hour from (timeofday()::timestamp))::text) || ':' || (SELECT extract(minute from (timeofday()::timestamp))::text) || ')';

RAISE NOTICE 'Suppression des cartes des indicateurs statistiques et relatifs et des tables de données associées ...';
PERFORM safran.ps_suppression_tout_stat_rel('safran');
RAISE NOTICE '   --> Cartes et données statistiques et relatives supprimées (à %)', (SELECT extract(hour from (timeofday()::timestamp))::text) || ':' || (SELECT extract(minute from (timeofday()::timestamp))::text) || ')';

RAISE NOTICE 'Remplacement des valeurs -999 à null ...';
FOR r1 IN
SELECT
table_name
  FROM information_schema.tables
WHERE table_schema='safran' AND table_type ='BASE TABLE'
LOOP
EXECUTE 'UPDATE safran.'|| r1.table_name ||' SET dur = 0, deb = null WHERE def = 0';
EXECUTE 'UPDATE safran.'|| r1.table_name ||' SET deb = null WHERE deb = -999';
END LOOP;
RAISE NOTICE '   --> Remplacement terminé (à %)', (SELECT extract(hour from (timeofday()::timestamp))::text) || ':' || (SELECT extract(minute from (timeofday()::timestamp))::text) || ')';

RAISE NOTICE 'Calcul des indicateurs statistiques ...';
PERFORM safran.ps_calcul_statistiques();
SELECT COUNT(*) INTO var_count FROM public.t_carte_statistique_indicateur_casind;
IF var_count > 0 THEN
var_message := 'Calcul des indicateurs statistiques terminé avec succès : '|| var_count ||' cartes créées';
ELSE
var_message := 'La procédure n''a pas échouée, mais aucune carte d''indicateurs statistiques n''a été insérée';
END IF;
var_message := var_message || ' (à '|| (SELECT extract(hour from (timeofday()::timestamp))::text) || ':' || (SELECT extract(minute from (timeofday()::timestamp))::text) || ')';
RAISE NOTICE '   --> %', var_message;

RAISE NOTICE 'Calcul des relatifs...';
PERFORM safran.ps_calcul_relatif();
RAISE NOTICE ' --> Calcul des indicateurs relatifs terminé (à %)', (SELECT extract(hour from (timeofday()::timestamp))::text) || ':' || (SELECT extract(minute from (timeofday()::timestamp))::text) || ')';
SELECT COUNT(*) INTO var_count FROM public.t_carte_indicateur_caind WHERE caind_casind_id IS NOT NULL;
IF var_count > 0 THEN
var_message := 'Calcul des indicateurs relatifs terminé avec succès : ' || var_count || ' cartes créées';
ELSE
var_message := 'La procédure n''a pas échouée, mais aucune carte d''indicateurs relatifs n''a été insérée';
END IF;
var_message := var_message || ' (à '|| (SELECT extract(hour from (timeofday()::timestamp))::text) || ':' || (SELECT extract(minute from (timeofday()::timestamp))::text) || ')';
RAISE NOTICE '   --> %', var_message;

RAISE NOTICE 'Création des index sur les tables de données des indicateurs élémentaires ...';
PERFORM safran.ps_creation_index_data_ind();
RAISE NOTICE '   --> terminé à %', (SELECT extract(hour from (timeofday()::timestamp))::text || ':' || extract(minute from (timeofday()::timestamp))::text);

RAISE NOTICE 'Création des index sur les tables de données des indicateurs statistiques ...';
PERFORM safran.ps_creation_index_data_stat();
RAISE NOTICE '   --> terminé à %', (SELECT extract(hour from (timeofday()::timestamp))::text || ':' || extract(minute from (timeofday()::timestamp))::text);

RAISE NOTICE 'Création des index sur les tables de données des indicateurs relatifs ...';
PERFORM safran.ps_creation_index_data_rel();
RAISE NOTICE '   --> terminé à %', (SELECT extract(hour from (timeofday()::timestamp))::text || ':' || extract(minute from (timeofday()::timestamp))::text);

RAISE NOTICE 'Date de début de la procédure : %', start_date ;
RAISE NOTICE 'Date de fin de la procédure : %', (SELECT timeofday()) ;

RETURN 0;
END;
$span$
LANGUAGE
'plpgsql'
VOLATILE
CALLED ON NULL INPUT
SECURITY INVOKER
PARALLEL UNSAFE
COST
100;

This file was generated with SQL Manager for PostgreSQL (www.pgsqlmanager.com) at 07/12/2018 13:23
Previous topic Chapter index Next topic