Rechercher : dans
Par :

ORACLE : probleme Trigger

Dernière réponse le 1 nov 2007 à 09:28:38 Toulousain63, le 1 nov 2007 à 08:34:57 
 Signaler ce message aux modérateurs

Bonjour,

J'ai un probleme avec un trigger. Je souhaite verifier avant mon insertion/maj dans la table auteur que le nom et prenom n'existe pas deja. Si c'est le cas, je souhaite verifier que la date de naissance entrée soit differente de la naissance de l'auteur ayant le meme nom.
Par ex :

Toto tata 15/01/01
Toto tata 18/01/01

Cependant avec mon systeme, lorsqu'il ne trouve pas de ligne correspondant au nom de l 'auteur, il m'affiche "aucune donnee trouvee"
Auriez vous une solution svp ?

Merci d avance


Create or replace TRIGGER VERIFIER_DONNEES
before update or insert on AUTEUR
for each row
declare
nom varchar(25) ;
prenom varchar(20);
ladate date;
begin
SELECT NOM_AUT,PRENOM_AUT,DATENAISS_AUT INTO nom,prenom,ladate
FROM AUTEUR
WHERE NOM_AUT = :NEW.NOM_AUT AND PRENOM_AUT = :NEW.PRENOM_AUT;


If(nom = :NEW.NOM_AUT) Then
If(prenom = :NEW.PRENOM_AUT) Then
If(ladate = :NEW.DATENAISS_AUT) Then
RAISE_APPLICATION_ERROR(-20010,'Un auteur peut avoir le meme nom et prenom qu un autre auteur mais pas la meme date de naissance');
End If;
End If;
End If;
end ;

Configuration: Windows XP
Firefox 2.0.0.8

Meilleures réponses pour « ORACLE : probleme Trigger » dans :
Connexion à une base Oracle en php Voir1. Périmètre Cet article est un exemple de connexion à une base Oracle par le biais d'un script php. Cet article ne traite pas la configuration de votre serveur Oracle, et de votre client Oracle. Nous partons du principe que vous pouvez accéder à...
Linux - Oracle - Installation d'Oracle 11g sous Linux Ubuntu VoirPrésentation Téléchargement d’UBUNTU Téléchargement d’Oracle Configuration du serveur X Mise à jour des packages Installation des packages de pré-installation Mise à jour du shell Mise à jour de la configuration des utilisateurs...
Oracle - Statistiques générales VoirPour générer des statistiques générales relatives à votre base de données, il suffit de lancer le script : $ORACLE_HOME/rdbms/admin/utlbstat.sql Des informations utiles sont alors affichées. Activer l’audit sur un objet Pour activer l’audit...
Oracle - Les séquences VoirCet article s'appuie sur la version 8.1.6 d'Oracle. Une séquence est un objet de base de données Oracle, au même titre qu'une table, une vue, etc... Autrement dit, il appartient à un utilisateur, on peut le manipuler, le modifier, à condition...
Oracle - Introduction au SGBD Oracle VoirIntroduction au SGBD Oracle Oracle est un SGBD (système de gestion de bases de données) édité par la société du même nom (Oracle Corporation - http://www.oracle.com), leader mondial des bases de données. La société Oracle Corporation a été créée en...
Oracle - Les requêtes hiérarchiques VoirCet article se base sur des tests et recherches réalisés dans la version 8.1.5 d'Oracle. Introduction Tout au long de cet article, nous allons nous intéresser à une structure de données permettant de créer un Forum de discussion, matérialisé par...

1

Nabil R, le 1 nov 2007 à 08:41:32

Bonjour,

Fraudra ajouter une exception dans le select : s'il ne trouve pas de record, il devra sortir calmement (sans afficher d'erreur).

Nabil
nabil1749@hotmail.com

Répondre à Nabil R

2

 Toulousain63, le 1 nov 2007 à 09:28:38

Bonjour,

Merci pour ta reponse. J'ai utilisé le

EXCEPTION
WHEN NO_DATA_FOUND THEN
INSERT INTO AUTEUR VALUES (:NEW.NUM_AUT,:NEW.NOM_AUT,:NEW,PRENOM_AUT,NEW.DATENAISS_AUT­)

et j'ai toujours la meme erreur

Répondre à Toulousain63