2010-04-12 6 views
1

Bien que dans Oracle DB son est autorisé à paramétrer le nombre de lignes que la requête peut chercher en ajoutant à la requête:DB2: Ne permet pas Paramétrez: « aller chercher les premiers rangs <X> seulement »

select ... 
from ... 
where ... 
and rownum <= @MaximumRecords 

Je ne peux pas ajouter la condition similaire à la requête acuivalent en cours d'exécution dans DB2: Il est permis d'ajouter:

select ... 
from ... 
where ... 
fetch first 500 rows only 

(où il y a nombre fixe de lignes) mais pas:

select ... 
from ... 
where ...  
fetch first :1 rows only 

(: 1 == @MaximumRecords)

Est-ce que quelqu'un au courant d'une solution/travail autour de ce problème?

+0

Pour être plus précis - les dernières requêtes sont faites pour le plan d'exécution et non pour les requêtes directes. – GyRo

Répondre

0

Je pense avoir trouvé la solution. Je viens d'exécuter cette requête avec un outil qui donne une valeur par défaut 0 à @MaximnumRecords et apparemment DB2 ne permet pas d'effectuer:
"chercher d'abord 0 lignes seulement" dans tous les cas - ce fut le problème.