So che la versione è troppo vecchia (sì versione 4!), Ma non ho scelta.Limite query SQL per DB2 AS/400 Versione 4
Come limitare la mia query ad esempio 100 righe solo per DB2 AS400?
FETCH FIRST n ROWS ONLY
e
ROW_NUMBER()
non funzionano.
Qualsiasi idea o soluzione alternativa?
Ecco una query di esempio SQL (non funziona):
SELECT POLNOP FROM ZICACPTF.POLHDR FETCH FIRST 10 ROWS ONLY
Si dice
[SQL0199] Chiave non FETCH previsto. Token validi: PER CON L'UNIONE DELL'ORDINE OTTIMIZZARE.
Il primo riferimento trovato per _fetch-first-clause_ è V5R1, analogamente per 'ROW_NUMBER()'. Puoi dare un esempio di ** come ** vuoi usarlo? Un'istruzione FETCH può recuperare un blocco di, ad esempio, 100 righe. È possibile FETCH una volta ed elaborare solo quelle righe, ma ciò implica SQL incorporato. Inoltre, c'erano cinque versioni separate di 'versione 4' - qual è il tuo? – user2338816
V4R4, cosa ho solo quello che è per recuperare una tabella, ma limitato per esempio solo 10 righe. in mysql è come 'select * from table1 limit 10' – Kevin
Stai utilizzando una versione MySQL del 2001? Questo è (apparentemente) quando la _fetch-first-clause_ appare in DB2 su iSeries, quindi un confronto simile dovrebbe essere fatto per MySQL. Non si può fare molto sulla V4R4 che ora ha più di 15 anni. IMO, l'unica possibilità ragionevole è l'SQL incorporato in cui FETCH le prime 10 righe. Non riesco a ricordare i requisiti per gli stored process SQL memorizzati su V4R4. Potresti crearne uno che restituisca un set di risultati contenente solo 10 righe. Se un proc SQL memorizzato non è ragionevole, è possibile utilizzare un proc memorizzato esterno. – user2338816