#1 Wed 23 June 2021 10:39
- Lucile16
- Juste Inscrit !
- Date d'inscription: 23 Jun 2021
- Messages: 2
Trigger avec sélection
Bonjour,
l'objectif est de mettre à jour automatiquement le champ 'date_valid' uniquement lorsque le champ 'validite' = valide.
BEGIN
NEW.date_valid = CURRENT_TIMESTAMP
from bd_adresse.adresse_agglo
where adresse_agglo.validite = 'valide';
RETURN NEW;
END;
Je ne reçois aucun message d'erreur dans la syntaxe mais le champ 'date_valid' ne se met pas à jour lors de l'enregistrement.
Pouvez-vous m'orienter vers une autre syntaxe ou démarche ?
Hors ligne
#2 Fri 30 July 2021 18:09
- tweaxy
- Participant actif
- Lieu: Abbeville
- Date d'inscription: 27 Dec 2018
- Messages: 76
Re: Trigger avec sélection
Bonsoir
,
Tout d'abord, il manque la condition IF NEW.validite = 'valide' :
Vous souhaitez faire ça sur toute la totalité des objets de votre table ou uniquement à partir d'une sélection d'objets ? Si uniquement à partir d'une sélection d'objets, comment les avez vous sélectionné ?
A quel moment faire cela ?
Une fois uniquement, ou est-ce lier à un trigger apres/avant/ insertion/update ?
Cordialement,
Léandre
Hors ligne
#3 Mon 02 August 2021 09:02
- Ben22
- Participant actif
- Lieu: 33
- Date d'inscription: 11 May 2016
- Messages: 96
Re: Trigger avec sélection
Bonjour,
Comme vous le conseille tweaxy, essayez plutôt cette écriture :
Code:
$$ BEGIN IF NEW.validite = 'valide' THEN NEW.date_valid = CURRENT_DATE; END IF; RETURN NEW; END; $$
Dernière modification par Ben22 (Mon 02 August 2021 09:04)
Hors ligne