|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité(e)
Messages : n/a ![]() |
Bonjour,
Voici une procédure stockée qui consiste clairement à insérer un enregistrement dans la table TableCategories !! Je lance en fait cette procédure à partir de mon programme (en VB) sous ADO avec l'instruction Execute(). Et ben, la fonction vb s'exécute sans exception/erreur mais rien est fait du côté de la base, pas de nouvel enregistrement dans la table TableCategories alors que je pense que cette procédure est OK non ? Code :
|
||
00
|
|
|
#2 | ||||||
|
Expert Confirmé
![]() Inscription : février 2006 Messages : 3 433 ![]() |
Vous pouvez tester un appel de procédure avec les commandes SQL*Plus suivantes:
Code :
Attention dans cette partie de code en cas de levée d'exception, vous perdez l'exception: Code :
Il vaut mieux écrire: Code :
Voir aussi le tutoriel Deplphi Oracle pour la partie gestion des exceptions: http://laurent-dardenne.developpez.c...s-applicative/ |
||||||
|
|
00
|
|
|
#3 | |||
|
Invité(e)
Messages : n/a ![]() |
J'ai fait ce que tu as indiqué : raise;et SET serveroutput ON
et alors j'ai exécuté comme suit sous sql plus le test Code :
Citation:
|
|||
00
|
|
|
#4 | ||
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
Code :
|
||
|
|
00
|
|
|
#5 | ||
|
Invité(e)
Messages : n/a ![]() |
L'erreur c'est en fait
Code :
Même si le select ne retourne rien, ça retourne au moins une chaine vide qui n'affecte en rien l'INSERT alors pourquoi y a pas d'insertion ? Curiosité :Existe-t-il un outil Oracle pour déboguer un script pl/sql pas à pas comme dans les EDI puissants (Visual Basic, Visual C++, etc.) c-à-d un SQL PLUS plus évolué Dernière modification par Lucas Panny ; 20/02/2008 à 13h14. |
||
00
|
|
|
#6 | |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
Citation:
D'ailleurs, on se demande bien pourquoi tu fait pas tout simplement un INSERT... SELECT... ton UPDATE n'est sensé mettre à jour que la nouvelle ligne insérée ? |
|
|
|
00
|
|
|
#7 |
|
Expert Confirmé Sénior
![]() ![]() Marius NituIngénieur développement logiciels Inscription : octobre 2007 Messages : 3 319 ![]() |
|
|
|
00
|
|
|
#8 | ||||
|
Invité(e)
Messages : n/a ![]() |
Citation:
Pour détourner ce retour de NO_DATA_FOUND Code :
Citation:
|
||||
00
|
|
|
#9 |
|
Invité(e)
Messages : n/a ![]() |
Je réponds à moi même : pour un varchar, une chaine vide '' est égale à NULL aussi donc au lieu de IF v_Class =' ' then, je fais IF v_Class IS NULL then !!
En fait, le principe de cette procédure c'est que v_Class soit vide ou choisi parmi une liste de champs existants d'où ce test |
00
|
Copyright © 2000-2012 - www.developpez.com