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 31/01/2008, 11h56   #1
Invité de passage
 
Inscription : avril 2005
Messages : 7
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 7
Points : 1
Points : 1
Envoyer un message via MSN à tsague
Par défaut pbm avec un trigger crée

Bonjour,
voici mon trigger que je crée qui me permet lors de l'ajout d'une nvelle ligne dans la table ligne_coms vérifie que la quantité commandé
n'est pas supérieur à la quantité en stock et affiche un message'stock insuffsant'
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
CREATE OR REPLACE TRIGGER verifier_qte_com 
before INSERT ON ligne_coms 
FOR each row 
declare 
qte integer; 
stock integer; 
erreur EXCEPTION; 
begin 
SELECT qtestock INTO qte 
FROM produits 
WHERE num_pro =:new.num_pro; 
 
SELECT qté_com INTO stock 
FROM ligne_coms 
WHERE num_com =:new.num_com; 
IF stock >= qte then 
RAISE erreur; 
else 
UPDATE produits 
SET qtestock =qtestock-stock; 
end IF; 
EXCEPTION 
WHEN erreur THEN 
RAISE_application_error(-20002,'le stock est insuffisant'); 
 
 
end;
il cree le trigger mais lorsque je veux inserer dans ma table linge_coms il m'affiche ce message:
Code :
1
2
ERREUR à la ligne 1 : 
ORA-04098: Déclencheur 'COURS1.VERIFIER_COMMANDE' non valide. Echec de la revalidation
Code :
INSERT INTO ligne_coms( Num_com,Num_pro, Qté_com) VALUES('103','100','20');
l'erreur peut se trouver où aidez moi
tsague est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2008, 13h41   #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
regarde dans dba_errors pour trouver pourquoi le trigger est invalide.
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2008, 16h46   #3
Invité de passage
 
Inscription : avril 2005
Messages : 7
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 7
Points : 1
Points : 1
Envoyer un message via MSN à tsague
Par défaut je ne trouve pas

slt,
je ne trouve tjrs pas la solution aidez moi c'est urgent
tsague est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2008, 17h15   #4
Expert Confirmé Sénior
 
Avatar de mnitu
 
Homme Marius Nitu
Ingénieur développement logiciels
Inscription : octobre 2007
Messages : 3 319
Détails du profil
Informations personnelles :
Nom : Homme Marius Nitu
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 3 319
Points : 5 837
Points : 5 837
Peut être
Code :
1
2
SELECT qté_com INTO stock
mnitu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2008, 17h28   #5
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
Citation:
Envoyé par tsague Voir le message
slt,
je ne trouve tjrs pas la solution aidez moi c'est urgent
comment tu veux qu'on t'aide ? On est pas des voyants et tu veux pas nous donner l'erreur

Si c'est urgent commence à voir DBA_ERRORS et essaye de comprendre ce qui se passe !
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2008, 10h28   #6
Membre Expert
 
Avatar de Garuda
 
Homme Philippe CHIRCOP
Chef de projet
Inscription : juin 2007
Messages : 1 109
Détails du profil
Informations personnelles :
Nom : Homme Philippe CHIRCOP
Localisation : France

Informations professionnelles :
Activité : Chef de projet
Secteur : Bâtiment

Informations forums :
Inscription : juin 2007
Messages : 1 109
Points : 1 559
Points : 1 559
est ce que par hasard tu insèrerait pas des caractéres ('20') dans un champs numérique (Qté_com) ?

NB : les accents dans des noms de champs = > source d'erreurs potentielles
__________________
Garuda गरूड
Brahmâ la Guerre et Vishnu la Paix

Oracle 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010
Garuda 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 18h18.


 
 
 
 
Partenaires

Hébergement Web