Précédent   Forum des professionnels en informatique > Bases de données > Oracle > PL/SQL
PL/SQL Forum d'entraide sur le PL/SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/10/2006, 15h59   #1
Invité de passage
 
Inscription : octobre 2006
Messages : 1
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 1
Points : 0
Points : 0
Par défaut Trigger et PL/SQL

Bonjour,

J'ai le code suivant dans un trigger (apres insertion) :
(J'ai enlevé les parties non importantes)
Code :
1
2
3
4
5
6
7
8
9
10
declare
begin
IF INSERTING THEN
  PRENOM = 'test';
END IF;
 
IF UPDATING THEN
   NULL;
END IF;
end;
Le trigger reste en état invalide. Pourquoi ?
Je voudrais pourvoir modifier le champs PRENOM de l'insertion en cours si le nom est égal à 'TEST' (par exemple).

Merci de vote aide.
Si vous avez des liens vers des tutoriaux PL/SQL ça m'intéresse.
arnault.tovar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2006, 16h05   #2
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
:= pour affecter une valeur.

la prochaine fois, merci de penser au balise code et fournir l'erreur lors de la compilation.
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2006, 18h07   #3
Membre Expert
 
Inscription : avril 2006
Messages : 1 024
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 1 024
Points : 1 175
Points : 1 175
Tu ne pourras pas modifier un champ de table dans un trigger AFTER INSERT, il faut faire un trigger BEFORE INSERT ... FOR EACH ROWS.

La syntaxe sera d'ailleurs:

Code :
1
2
3
4
5
 
 
IF INSERTING THEN
  :NEW.PRENOM := 'test';
END IF;
j'ai éliminer le bloc "IF UPDATING" pour 2 raisons
- dire que si un certait test est vérifié, "on fait rien sinon on fait rien" je vois pas l'interret...
- tester le UPDATING sur un trigger d'insertion ça sert à rien ce ne sera jamais vérifié!

remi4444 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h52.


 
 
 
 
Partenaires

Hébergement Web