Schema
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 |
|
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 |