Schema
Owner
postgres
Descriptions
There is no description for function ps_suppression_tout_stat_rel
Options
Option | Value |
---|---|
Returns |
integer |
Language |
|
Parameters |
var_schema text |
Definition
CREATE OR REPLACE FUNCTION safran.ps_suppression_tout_stat_rel (
var_schema text
)
RETURNS integer AS
$span$
DECLARE
v record; -- Liste des vues des indicateurs relatifs et/ou statistiques
r0 record; -- Liste des tables de données des indicateurs relatifs ou statistiques
var_tmp text;
var_nb_vue integer DEFAULT 0;
var_setval integer;
BEGIN
FOR v IN
SELECT viewname from pg_catalog.pg_views
WHERE schemaname = var_schema
ORDER BY viewname
LOOP
var_tmp := substring(v.viewname from '(_indicstat_|_indicrel_)');
IF var_tmp IS NOT NULL THEN
var_nb_vue := var_nb_vue + 1;
END IF;
END LOOP;
IF var_nb_vue > 0 THEN
RAISE EXCEPTION 'Il existe % vue(s) dans le schéma % pour les indicateurs relatifs et statistiques. Veuillez supprimer ces vues et les couches correspondantes dans GeoServer avant de relancer cette procédure.', var_nb_vue, var_schema;
END IF;
-- suppression des tables de données et des cartes des indicateurs relatifs
FOR r0 IN
SELECT DISTINCT caind_nom_table
FROM public.t_carte_indicateur_caind
WHERE caind_casind_id IS NOT NULL
LOOP
EXECUTE 'DROP TABLE IF EXISTS '||var_schema||'.'||r0.caind_nom_table;
END LOOP;
-- suppression des cartes des indicateurs relatifs dans la table des cartes des indicateurs (contenant indicateurs élementaires et relatifs)
DELETE FROM public.t_carte_indicateur_caind WHERE caind_casind_id IS NOT NULL;
-- mise à jour de la séquence de la table des cartes des indicateurs
SELECT setval('t_carte_indicateur_caind_caind_id_seq',(SELECT MAX(caind_id) FROM public.t_carte_indicateur_caind), true) INTO var_setval;
-- suppression des tables de données des cartes des indicateurs statistiques
FOR r0 IN
SELECT DISTINCT casind_nom_table
FROM public.t_carte_statistique_indicateur_casind
LOOP
EXECUTE 'DROP TABLE IF EXISTS '||var_schema||'.'||r0.casind_nom_table;
END LOOP;
-- suppression des cartes des indicateurs statistiques
DELETE FROM public.t_carte_statistique_indicateur_casind;
-- réinitialisation de la séquence de la table des cartes des indicateurs statistiques
ALTER SEQUENCE t_carte_statistique_indicateur_casind_casind_id_seq RESTART WITH 1;
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 |
![]() ![]() ![]() |