|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Nouveau Membre du Club
![]() Inscription : juin 2007 Messages : 271 ![]() |
bonjour,
Je précise que je travaille avec Oracle. Je cherche à obtenir la taille d'un curseur. je déclare le curseur comme ci-dessus: Code :
Code :
|
||||
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() ![]() |
Bonjour,
attention Rowcount permet de connaitre combien de ligne tu a parcouru, plus précisément ou tu te trouve dans ton curseur. Donc avant de commencer de parcourir tu te trouve bien a 0 si tu écrit ton log après le parcours tu aura normalement la taille de ton curseur.
__________________
http://alaindefrance.wordpress.com - http://www.alain-defrance.com Certifications : SCJP6 - SCWCD5 - SCBCD5 - SCMAD1 Project Lead eXo Social Java Black Belt - Java Black Belt Coach |
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : avril 2006 Messages : 16 ![]() |
... cela étant dit, tu peux toujours utiliser la fonction de groupe COUNT pour extraire la taille de ton curseur
|
|
|
00
|
|
|
#4 |
|
Expert Confirmé Sénior
![]() Inscription : juillet 2003 Messages : 3 459 ![]() |
Quel est le besoin d'avoir la taille du curseur ?
Si c'est pour éviter le Fetch, passe par un
__________________
More Code : More Bugs. Less Code : Less Bugs |
|
|
00
|
|
|
#5 | ||
|
Expert Confirmé Sénior
![]() ![]() Marius NituIngénieur développement logiciels Inscription : octobre 2007 Messages : 3 320 ![]() |
Citation:
Citation:
|
||
|
|
00
|
|
|
#6 | ||
|
Expert Confirmé Sénior
![]() Inscription : juillet 2003 Messages : 3 459 ![]() |
Code :
__________________
More Code : More Bugs. Less Code : Less Bugs |
||
|
|
00
|
|
|
#7 |
|
Expert Confirmé
![]() ![]() |
Mais pourtant c'est bien les FETCH quel intérêt de s'en passer ?
__________________
http://alaindefrance.wordpress.com - http://www.alain-defrance.com Certifications : SCJP6 - SCWCD5 - SCBCD5 - SCMAD1 Project Lead eXo Social Java Black Belt - Java Black Belt Coach |
|
00
|
|
|
#8 |
|
Membre émérite
![]() Inscription : janvier 2004 Messages : 845 ![]() |
dans une boucle For, le fetch est implicite...
puisque la select est automatiquement exécuté et la première lignes affectée au record r (ou rec, ou le nom qu'on lui donne...) en fait un Open cursor permet de parser le Select mais pas de l'exécuter... il est exécuté au premier fetch.
__________________
Il est plus facile de voir les signes avant-coureurs après coup que l'inverse ! Yorglaa |
|
|
00
|
|
|
#9 |
|
Expert Confirmé Sénior
![]() Inscription : juillet 2003 Messages : 3 459 ![]() |
Et surtout tu t'embêtes pas à fermer le curseur en cas d'erreur, à vérifier si une ligne est ramenée, etc..
__________________
More Code : More Bugs. Less Code : Less Bugs |
|
|
00
|
|
|
#10 | ||
|
Membre confirmé
![]() Inscription : mars 2007 Messages : 750 ![]() |
Et en plus t'as pas besoin de déclarer au préalable ni ton curseur ni la variable
ex: Code :
C'est pas de la bombe ça??? |
||
|
|
00
|
|
|
#11 | |
|
Membre émérite
![]() Inscription : janvier 2004 Messages : 845 ![]() |
Citation:
sauf que dans un package body de 10'000 lignes à corriger/déboguer, tu va te taper tout le code pour aller retrouver tous les Select des curseurs... alors que si ils sont tous sagement déclarés dans les section déclaratives des procédures tu sais toujours où les retrouver ! en gros c'est de la flemme et pas génial à maintenir !
__________________
Il est plus facile de voir les signes avant-coureurs après coup que l'inverse ! Yorglaa |
|
|
|
00
|
|
|
#12 |
|
Membre confirmé
![]() Inscription : mars 2007 Messages : 750 ![]() |
Oui bien sur, mais dans le cas d'un curseur dans un petit bloc Pl/SQL on perd moins de temps et on ne perd pas en lisibilité
|
|
|
00
|
|
|
#13 |
|
Expert Confirmé Sénior
![]() Inscription : juillet 2003 Messages : 3 459 ![]() |
Oh, mais tu peux toujours garder ton curseur dans la partie déclarative avec le LOOP
Et puis quand j'ai 10000 lignes de code, moi ça m'irrite de devoir remonter à chaque fois tout en haut pour savoir ce que fait ce curseur, puis revenir à ma ligne.. le temps de la retrouver, j'ai perdu 15 sec
__________________
More Code : More Bugs. Less Code : Less Bugs |
|
|
00
|
|
|
#14 | |
|
Membre émérite
![]() Inscription : janvier 2004 Messages : 845 ![]() |
Citation:
enfin ensuite ce n'est qu'un question de choix et de préférence... ça ne change rien à l'exécution.
__________________
Il est plus facile de voir les signes avant-coureurs après coup que l'inverse ! Yorglaa |
|
|
|
00
|
|
|
#15 |
|
Membre confirmé
![]() Inscription : mars 2007 Messages : 750 ![]() |
|
|
|
00
|
|
|
#16 |
|
Membre émérite
![]() Inscription : janvier 2004 Messages : 845 ![]() |
lorsque tu es sur ton editeur PL/SQL, clic-droit puis :
- "Toggle bookmark" permet de poser les bookmark de 0 à 9, le bookmark est posé à la ligne où est positionné le curseur. - "Goto bookmark" permet d'aller au bookmark de son choix (0 à 9) et te ramène à la position voulue
__________________
Il est plus facile de voir les signes avant-coureurs après coup que l'inverse ! Yorglaa |
|
|
00
|
|
|
#17 |
|
Membre confirmé
![]() Inscription : mars 2007 Messages : 750 ![]() |
ok merci..mais si tu veux revenir à ton point de départ t'es obligé de définir un bookmark aussi?
|
|
|
00
|
|
|
#18 |
|
Membre émérite
![]() Inscription : janvier 2004 Messages : 845 ![]() |
oui, en général je pose mon premier bookmark à mon point de départ...
__________________
Il est plus facile de voir les signes avant-coureurs après coup que l'inverse ! Yorglaa |
|
|
00
|
|
|
#19 |
|
Membre confirmé
![]() Inscription : mars 2007 Messages : 750 ![]() |
Cool...si t'as d'autres astuces sous TOAD je suis preneur.
Tu connais la touche F4 sur le nom d'une table??? ça c'est hyper pratique aussi sous TOAD |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com