Rechercher : dans
Par :

[pl/sql] " gestion d'une exception"

Dernière réponse le 15 avr 2003 à 18:25:12 edmotets, le 10 avr 2003 à 12:43:07 
 Signaler ce message aux modérateurs

Salut a tous!
C'est encore yves.
voila un code d'insertion:

insert into tgft_rzq_produkt_dimension
select tgft_rzq_dim_seq.nextval, Log_Baur, Null, 'Log_Baur' from
(select distinct Log_Baur from tgfpty)

Est ce que qq peut m'aider a ecrire la partie qui gerera le fait de vouloir inserer une ligne pre existante ?

En fait mon directeur de stage me dit que ce doit etre un truc du genre "where not exist" a la suite du insert, mais je ne sais pas comment continuer SVP aidez moi.

Au fait ca doit etre un truc du genre:

insert into tgft_rzq_produkt_dimension
select tgft_rzq_dim_seq.nextval, Log_Baur, Null, 'Log_Baur' from
(select distinct Log_Baur from tgfpty) where ... not exist ...

En fait j'attend votre aide.

Merci

Meilleures réponses pour « [pl/sql] " gestion d'une exception" » dans :
PL/SQL - Introduction au langage PL/SQL Voir Introduction au langage PL/SQL Le langage PL/SQL est un langage L4G (entendez par ce terme un langage de quatrième génération), fournissant une interface procédurale au SGBD Oracle. Le langage PL/SQL intègre parfaitement le langage SQL en lui...
SQL - Opérations ensemblistes VoirLes opérations ensemblistes Les opérations ensemblistes en SQL, sont celles définies dans l'algèbre relationnelle. Elles sont réalisées grâce aux opérateurs : UNION INTERSECT (ne fait pas partie de la norme SQL et n'est donc pas implémenté dans...
SQL - Gestion des permissions VoirGestion des permissions Plusieurs personnes peuvent travailler simultanément sur une base de données, toutefois ces personnes n'ont pas forcément les mêmes besoins: certaines peuvent par exemple nécessiter de modifier des données dans la table,...

1

 dmonnierfr, le 15 avr 2003 à 18:25:12
  • +2

BEGIN
insert into tgft_rzq_produkt_dimension
select tgft_rzq_dim_seq.nextval, Log_Baur, Null, 'Log_Baur' from
(select distinct Log_Baur from tgfpty)

EXCEPTION
When DUP_VAL_ON_INDEX THEN
<Ton traitement d'erreur>
END;


Il existe tout un jeu d'exception déjà connue, je te laisse chercher la liste, sinon tu peux declarer et lever une exception manuellement.
Du genre :

DECLARE
myException EXCEPTION;

BEGIN
IF 1 <> 0 THEN
raise myException;
END IF;

EXCEPTION
When myException THEN
<Ton traitement d'erreur>
END;

Répondre à dmonnierfr