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 08/03/2011, 17h31   #1
Membre confirmé
 
Homme AbdelRaouf Gt
Développeur informatique
Inscription : décembre 2009
Messages : 203
Détails du profil
Informations personnelles :
Nom : Homme AbdelRaouf Gt
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : décembre 2009
Messages : 203
Points : 238
Points : 238
Par défaut Trigger : c'est possible ?

Bonjour,
Je veux savoir est ce que c'est possible de faire ça :
Exécuter une requête select, sur une table, dans un trigeer déclenché sur cette table.

Code :
1
2
3
4
5
6
7
create or replace
TRIGGER Nom_TRIGGER
AFTER INSERT ON MATABLE
...

SELECT * from MATABLE;
...
Merci de votre réponse.
aguetat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2011, 18h51   #2
Rédacteur
 
Inscription : décembre 2002
Messages : 2 385
Détails du profil
Informations personnelles :
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : décembre 2002
Messages : 2 385
Points : 3 261
Points : 3 261
Si votre déclencheur n'est pas de niveau ligne (c'est à dire n'est pas déclaré avec FOR EACH ROW), c'est possible.
__________________
Consultant / formateur Oracle indépendant
Certifié OCP 10g et 11g, sécurité 11g
Pomalaix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 10h36   #3
Membre confirmé
 
Homme AbdelRaouf Gt
Développeur informatique
Inscription : décembre 2009
Messages : 203
Détails du profil
Informations personnelles :
Nom : Homme AbdelRaouf Gt
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : décembre 2009
Messages : 203
Points : 238
Points : 238
Oui, il est indiqué sans For each row.
Mais, c'est quoi le problème si je le déclare avec for each row ?

Merci
aguetat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 11h15   #4
Rédacteur
 
Inscription : décembre 2002
Messages : 2 385
Détails du profil
Informations personnelles :
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : décembre 2002
Messages : 2 385
Points : 3 261
Points : 3 261
Citation:
Envoyé par aguetat Voir le message
Mais, c'est quoi le problème si je le déclare avec for each row ?
Dans un déclencheur FOR EACH ROW, si vous tentez d'accèder (même par un simple SELECT) à la table sur laquelle il est déclaré, vous aurez l'erreur ORA-04091 dite "table mutante".

Jusqu'en 10g, vous pouvez trouver une solution ici : http://sgbd.developpez.com/oracle/ora-04091/
En 11g il existe les déclencheurs composés qui fournissent un contournement plus aisé : http://salem-houali.developpez.com/t...atabase11g/#L5
__________________
Consultant / formateur Oracle indépendant
Certifié OCP 10g et 11g, sécurité 11g
Pomalaix est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 09/03/2011, 11h34   #5
Membre confirmé
 
Homme AbdelRaouf Gt
Développeur informatique
Inscription : décembre 2009
Messages : 203
Détails du profil
Informations personnelles :
Nom : Homme AbdelRaouf Gt
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : décembre 2009
Messages : 203
Points : 238
Points : 238
Merci
aguetat est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



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


 
 
 
 
Partenaires

Hébergement Web