|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre régulier
![]() Inscription : mai 2005 Messages : 347 ![]() |
Bonsoir
Je place dans un curseur, le résultat d'un sélect. Mon but est en fait de faire une action, seulement si ce curseur est vide. En gros, mon but est d'insérer une valeur dans une table si celle-ci n'est pas déjà présente... Je fais donc donc un sélect, et si je n'ai aucun résultat, j'insère ma valeur. Actuellement, j'ai donc ceci: Code :
D'après un post que j'ai vu sur ce forum, cela devrait fonctionner. Mais cela ne fonctionne pas, et j'ai vu sur un autre tuto que cela ne retourne pas le nbre d'enregistrements du curseur.... Je précise, que j'aimerais éviter autant que possible de boucler sur ce curseur (sinon, dans ce cas, je pourrai faire une bidouille avec un variable pour savoir si on a bouclé dessus...) merci pour votre aide ! |
||
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Chef de projet en SSII Inscription : janvier 2004 Messages : 2 866 ![]() |
Si tu n'as pas fait de fetch, rowcount est toujours égal à 0.
__________________
Un problème sans solution est un problème mal posé Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP. |
|
|
00
|
|
|
#3 |
![]() ![]() ![]() Inscription : mai 2003 Messages : 6 534 ![]() |
Dans ce cas précis, il peut être plus simple d'utiliser un ordre Select ... Into et de gérer l'insertion dans l'exception : NO_DATA_FOUND.
__________________
Rédacteur Oracle (Oracle ACE) Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche Je ne réponds pas aux questions techniques par MP Blogs: Forms-PL/SQL-J2EE - Forms Java Beans |
|
|
00
|
|
|
#4 |
|
Expert Confirmé Sénior
![]() ![]() Marius NituIngénieur développement logiciels Inscription : octobre 2007 Messages : 3 320 ![]() |
|
|
|
00
|
|
|
#5 |
|
Membre régulier
![]() Inscription : mai 2005 Messages : 347 ![]() |
mnitu, en fait, je ne peux pas toucher à la base
SheikYerbouti, oui en effet, je vais faire cela. Je suis parti comme un *** sur un curseur vu que j'en ai fait quelques uns, et quà la base je pensais boucler dessus. Mais vu que je ne veux pas boucler, je vais faire un simple select Merki beaucoup ! |
|
|
00
|
|
|
#6 | ||
|
Membre régulier
![]() Inscription : mai 2005 Messages : 347 ![]() |
J'ai tjs un petit prob...
J'ai bien fait mon sélect, et ajouté un EXCEPTION... Seulement, ma procédure ne veut pas compiler.... L'erreur se situe en fait sur l'exception: Code :
|
||
|
|
00
|
|
|
#7 |
|
Membre émérite
![]() Inscription : août 2008 Messages : 835 ![]() |
Salut,
De manière générale, indiquer le message d'erreur peut aider. |
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Inscription : août 2008 Messages : 1 276 ![]() |
Salut,
Il te manque un BEGIN avant le select et un END après l'exception. De plus tu es sûr que ta requête te renvoie seulement 0 ou 1 ligne, sinon ça plantera à l'execution. |
|
|
00
|
|
|
#9 |
|
Membre régulier
![]() Inscription : mai 2005 Messages : 347 ![]() |
En fait pour le message d'erreur, il ne me sort rien, tout au moins, je ne trouve pas l'erreur dans TOAD.
Pour le reste, en effet, avec un BEGIN END,avant et après donc, cela fonctionne à la compile. Sinon, oui, la requête ne me renvoit que un seul résultat obligatoirement merci ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com