pggeodb.nancy.inra.fr/db_cefs - db_cefs on pggeodb.nancy.inra.fr
Previous topic Chapter index Next topic

Function: ps_suppression_data_animal_campagne

 

 

Schema

public

 

Owner

albenard

 

Descriptions

Cette procédure stockée permet de supprimer les données de positionnement et/ou d'activité pour un animal pour une année de suivi définie.

 

Options

Option

Value

Returns

boolean

Language

plpgsql

Parameters

animal_concerne varchar

campagne integer

 

Definition

CREATE OR REPLACE FUNCTION public.ps_suppression_data_animal_campagne (
 animal_concerne varchar,
 campagne integer
)
RETURNS boolean AS
$span$
DECLARE

 id_animal_concerne integer; -- identifiant de l'animal concerne (ani_id)
 
BEGIN
-- Récupération ID animal concerne
SELECT ani_id FROM t_animal_ani WHERE lower(ani_etiq) = lower(animal_concerne) INTO id_animal_concerne;
IF NOT found THEN
    raise notice
'Erreur - Nom animal introuvable : % ', animal_concerne;
    return FALSE;
END IF;

   -- Suppression des campagnes (et des positionnements en cascade)
DELETE FROM t_campagne_pos_cpos
    WHERE cpos_ani_id = id_animal_concerne and cpos_annee_suivi = campagne;
       
   -- Suppression des données d'activité
   DELETE FROM t_activite_act
    WHERE act_ani_id =  id_animal_concerne and act_annee_suivi = campagne;

RAISE NOTICE 'Données de l''animal % purgées pour la campagne %', animal_concerne, campagne;
   
   RETURN true;
           
EXCEPTION
WHEN
OTHERS THEN
     raise notice
'Erreur : % %', sqlstate, sqlerrm;
     return false;
END;
$span$
LANGUAGE
'plpgsql'
VOLATILE
CALLED ON NULL INPUT
SECURITY INVOKER
COST
100;

COMMENT ON FUNCTION public.ps_suppression_data_animal_campagne(animal_concerne varchar, campagne integer)
IS 'Cette procédure stockée permet de supprimer les données de positionnement et/ou d''activité pour un animal pour une année de suivi définie.';

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