Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Suite à un problème technique intervenu entre le 22 et le 23 mars, nous avons du procéder dans la soirée du 25 mars, à la restauration de la base de données du 24 mars (matinée).

En clair, nous avons perdu vos contributions et inscriptions du dimanche 24 et du lundi 25 mars.
Nous vous prions de nous excuser.

#1 Tue 13 August 2019 16:27

neskuik01
Participant assidu
Date d'inscription: 16 Feb 2015
Messages: 193

Supprimer depuis une VUE sql

Bonjour,

Je m'appuie sur les travaux de Florent Vanhoutte (geo.compiegnois.fr) pour mettre en place le standard RAEPA au sein de la collectivité ou je travail. Travaillant avec des vues j'ai adapté le script extension qui définit les fonctions pour l'ajout, la modification et la suppression directement depuis les "vues" sql.

J'ai donc un Trigger INSTEAD OF  qui pour chaque ligne appel une fonction, qui elle définit les règles à appliquer.
Cependant la partie Suppression est en cours de développement.   

D'après ce que je lis sur internet pour réaliser un trigger INSTEAD OF DELETE  il faut une table intermédiaire dans laquelle on stocke la clé primaire ?
Est-ce-que quelqu'un aurait un exemple de fonction qui intègre une règle quant aux suppressions ?

Est ce que je peux rédiger ça de la sorte :

Code:

ELSIF (TG_OP='DELETE') THEN 
DELETE FROM schema.table_annexe
WHERE schema.tableprincipale.idpk = idpk

Hors ligne

 

#2 Wed 14 August 2019 13:49

Ben22
Participant actif
Lieu: 33
Date d'inscription: 11 May 2016
Messages: 95

Re: Supprimer depuis une VUE sql

Votre clé primaire est-elle appelée sur votre vue ?

Si oui :

Code:

...
ELSIF (TG_OP='DELETE') THEN 

  -- suppression sur la table annexe
  DELETE FROM schema.table_annexe as t1
  WHERE t1.idpk = OLD.idpk; /* OLD est ici la valeur d'idpk de l'entité supprimée si trigger en "EACH ROW"*/

RETURN OLD;

END IF;
...

Hors ligne

 

#3 Wed 14 August 2019 14:34

neskuik01
Participant assidu
Date d'inscription: 16 Feb 2015
Messages: 193

Re: Supprimer depuis une VUE sql

Bonjour

Oui la clé primaire est appelée par la vue.
Mhh c'est exactement comme ca que je l'ai écrit (enfin j'avais mis un RETURN NEW) mais  j'ai toujours une erreur "entrée manquante de la clause FROM pour la table raepa_canal"  -_-

Hors ligne

 

#4 Wed 14 August 2019 14:40

Ben22
Participant actif
Lieu: 33
Date d'inscription: 11 May 2016
Messages: 95

Re: Supprimer depuis une VUE sql

Pouvez-vous mettre le bout de fonction qui pose problème  ?

Hors ligne

 

Pied de page des forums

Powered by FluxBB