Bonjour,
je cherche comment récupérer par exmple 20 dernier lignes d'une requete , le contraire de fetch first only ?
Est ce possible oui non ?
Bonjour,
je cherche comment récupérer par exmple 20 dernier lignes d'une requete , le contraire de fetch first only ?
Est ce possible oui non ?
classez dans le sens inverse et fait un fetch first ?
Sinon, non, ca n'est pas possible.
Bonjour,
seuelement cette solutuion qui existe : le sens inverse et fait un fetch first ?
Merci boucoup
Autre possibilité mais uniquement dans un programme avec gestion de curseur. Tu te sers d'un scrollable cursor. Dès l'open du curseur, tu connais alors le nombre de lignes renvoyées par le curseur. Tu te positionnes directement sur la dernière ligne - 20 et tu lis les 20 dernières lignes, toute sorte de fetchs très simples à faire avec un scrollable curseur. Par contre, gaffe à l'utilisation de ces curseurs, surtout en terme de perf, ce n'est pas toujours le pied, tout dépend des paramètres sensitive ou insensitive dans le declare et dans le fetch. Je n'ai pas mes docs près de moi, mais sauf erreur de ma part, pour faire simple, il faut tout mettre insensitive. Dans ce cas, pas de souci de perf à prévoir.
Tu peux aussi utiliser les fonctions OLAP :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 with t1 as ( select empno, salary, row_number() over(order by salary desc) rang from employee) Select * from t1 where rang <= 20 order by empno
Sur STRQRY et ISERIE Cette requete marche bien :
mais sur webdev j'ai un message d'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 SELECT * FROM ( SELECT ROWNUMBER() over (order by da desc , dm desc ,dj desc) as row_number , da, dm, dj FROM Fdmpr ) as table where row_number between 1 and 13
Le fichier <Fdmpr )> est inconnu dans l'analyse ou n'est pas un fichier.
je sais pas pourqoui ?
Faudrait peut être donner le nom de ton schéma.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Select ....from MONSCHEMA.MATABLE
ça marche pas je l'avais essayer me donne le message :
Le fichier <FREGLE00.Fdmpr )> est inconnu dans l'analyse ou n'est pas un fichier.
Merci bc
Si tu fais sur une ligne de commande un
peux-tu copier/coller du print screen du premier écran ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part DSPFD FREGLE00/Fdmpr
Il faut faire le DSPFD FREGLE00/Fdmpr sur une ligne de commande d'un "écran vert".
Quelle est la version de l'OS/400 ?
Contrôle . . . . Colonnes 1 - 78
Recherche . . . .
*...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+...
8/03/11 Description de fichier
Paramètres de la commande DSPFD
Fichier . . . . . . . . . . . . . . . . . . : FILE FDMPR
Bibliothèque . . . . . . . . . . . . . . : FREGLE00
Type d'information . . . . . . . . . . . . : TYPE *ALL
Attributs du fichier . . . . . . . . . . . : FILEATR *ALL
Système . . . . . . . . . . . . . . . . . . : SYSTEM *LCL
En-tête de description de fichier
Fichier . . . . . . . . . . . . . . . . . . : FILE FDMPR
Bibliothèque . . . . . . . . . . . . . . . : FREGLE00
Type de fichier . . . . . . . . . . . . . . : Physique
Type de fichier . . . . . . . . . . . . . . : FILETYPE *DATA
ID pool mémoire secondaire . . . . . . . . : 00001
Attributs fichier base de données
Fichier à description externe . . . . . . . : Oui
ID niveau du fichier . . . . . . . . . . . : 1101219002541
Date de création . . . . . . . . . . . . . : 21/01/06
Texte de description . . . . . . . . . . . : TEXT Fich.Ph.DEMANDE DE
Fichier réparti . . . . . . . . . . . . . . : Non
Table SQL partitionnée . . . . . . . . . : Non
DBCS admis . . . . . . . . . . . . . . . . : Non
Nombre maximal de membres . . . . . . . . . : MAXMBRS 1
Nombre de contraintes . . . . . . . . . . : 0
Nombre de déclencheurs . . . . . . . . . . : 0
Nombre de membres . . . . . . . . . . . . . : 1
Maintenance du chemin d'accès . . . . . . . : MAINT *IMMED
Rétablissement chemin d'accès . . . . . . . : RECOVER *AFTIPL
Forcer chemin d'accès sur clé . . . . . . . : FRCACCPTH *NO
Taille du membre . . . . . . . . . . . . . : SIZE *NOMAX
Allocation mémoire. . . . . . . . . . . . . : ALLOCATE *NO
Mémoire contiguë . . . . . . . . . . . . . : CONTIG *NO
Unité mémoire choisie . . . . . . . . . . . : UNIT *ANY
Nombre enreg forcés en écriture . . . . . . : FRCRATIO *NONE
Attente maximale fichier . . . . . . . . . : WAITFILE *IMMED
Attente maximale enregistrement . . . . . . : WAITRCD 60
% maximal d'enregistrements supprimés . . . : DLTPCT *NONE
Réutilisation enregistrements supprimés . . : REUSEDLT *NO
ID codé de jeu de caractères . . . . . . . : CCSID 297
Opération lecture admise . . . . . . . . . : Oui
Opération écriture admise . . . . . . . . . : Oui
Opération mise à jour admise . . . . . . . : ALWUPD *YES
Opération suppression admise . . . . . . . : ALWDLT *YES
Vérification du niveau de format . . . . . : LVLCHK *YES
Type de chemin d'accès . . . . . . . . . . : Par clé
Taille du chemin d'accès . . . . . . . . . : ACCPTHSIZ *MAX4GB
Longueur maximale de la clé . . . . . . . . : 10
Longueur maximale d'enregistrement . . . . : 409
Non rémanente . . . . . . . . . . . . . . . : Non
Fichier en cours de journalisation . . . . : Oui
Journal en cours ou dernier . . . . . . . . : JRNOFF
Bibliothèque . . . . . . . . . . . . . . : JOURNAL
Images journal . . . . . . . . . . . . . . : IMAGES *BOTH
Postes de journal à omettre . . . . . . . . : OMTJRNE *OPNCLO
Dernière date/heure de journalisation . . . : 02/03/11
escription du chemin d'accès
Maintenance du chemin d'accès . . . . . . . : MAINT *IMMED
Valeurs de clé unique obligatoires . . . . : UNIQUE Oui
Chemin d'accès journalisé . . . . . . . . . : Non
Type de chemin d'accès . . . . . . . . . . : Par clé
Type de contrainte . . . . . . . . . . . . : NONE
Nombre de zones clés . . . . . . . . . . . : 5
Format d'enregistrement . . . . . . . . . . : EDMPR
Zone clé . . . . . . . . . . . . . . . . : CDVEND
Séquence . . . . . . . . . . . . . . . : Croissante
+....1....+....2....+....3....+....4....+....5....+....6....+....7..
Signe indiqué . . . . . . . . . . . . . : SIGNE
Hors texte/Digit indiqué . . . . . . . : *NONE
Séquence alternée . . . . . . . . . . . : Non
Zone clé . . . . . . . . . . . . . . . . : DA
Séquence . . . . . . . . . . . . . . . : Croissante
Signe indiqué . . . . . . . . . . . . . : SIGNE
Hors texte/Digit indiqué . . . . . . . : *NONE
Séquence alternée . . . . . . . . . . . : Non
Zone clé . . . . . . . . . . . . . . . . : DM
Séquence . . . . . . . . . . . . . . . : Croissante
Signe indiqué . . . . . . . . . . . . . : SIGNE
Hors texte/Digit indiqué . . . . . . . : *NONE
Séquence alternée . . . . . . . . . . . : Non
Zone clé . . . . . . . . . . . . . . . . : DJ
Séquence . . . . . . . . . . . . . . . : Croissante
Signe indiqué . . . . . . . . . . . . . : SIGNE
*...+....1....+....2....+....3....+....4....+....5....+....6....+....
Hors texte/Digit indiqué . . . . . . . : *NONE
Séquence alternée . . . . . . . . . . . : Non
Zone clé . . . . . . . . . . . . . . . . : NSER
Séquence . . . . . . . . . . . . . . . : Croissant
Signe indiqué . . . . . . . . . . . . . : SIGNE
Hors texte/Digit indiqué . . . . . . . : *NONE
Séquence alternée . . . . . . . . . . . : Non
Séquence de tri . . . . . . . . . . . . . . : SRTSEQ *HEX
Identificateur de langue . . . . . . . . . : LANGID FRA
Description de membre
Membre . . . . . . . . . . . . . . . . . . : MBR FDMPR
ID niveau du membre . . . . . . . . . . . : 106012116
Date de création . . . . . . . . . . . . : 21/01/06
Texte de description . . . . . . . . . . : TEXT Fich.Ph.D
Date de péremption . . . . . . . . . . . : EXPDATE *NONE
Maintenance du chemin d'accès . . . . . . : MAINT *IMMED
Rétablissement du chemin d'accès . . . . : RECOVER *AFTIPL
Taille du membre. . . . . . . . . . . . . : SIZE *NOMAX
Nombre actuel d'enregistrements . . . . . : 45140
Nombre d'enregistrements supprimés . . . : 176290
Allocation mémoire. . . . . . . . . . . . : ALLOCATE *NO
Mémoire contiguë . . . . . . . . . . . . : CONTIG *NO
Unité mémoire choisie . . . . . . . . . . : UNIT *ANY
Nombre d'enreg forcés en écriture . . . . : FRCRATIO *NONE
Partage ouverture . . . . . . . . . . . . : SHARE *NO
% maximal d'enregistrements supprimés . . : DLTPCT *NONE
Nombre d'accès au membre . . . . . . . . : 0
Statistiques activités espace de données :
Taille de l'espace de données (octets) : 94461952
Accès en ouverture au fichier physique : 83.9
Accès en fermeture au fichier physique : 83.9
Opérations d'écriture . . . . . . . . . : 9
.+....1....+....2....+....3....+....4....+....5....+....6....+....7....+...
Opérations de mise à jour . . . . . . . : 397.466
Opérations de suppression . . . . . . . : 197
Lectures logiques . . . . . . . . . . . : 486.223.153
Lectures physiques . . . . . . . . . . : 3.580.353
Opérations de mise à blanc . . . . . . :
Opérations de copie sur espace données :
Opérations de réorganisation . . . . . :
Reconstructions de chemins d'accès . . : 30
Enreg rejetés par sélection de clé . . : 60.548
Enreg rejetés par non sélection de clé : 167.123.079
Enreg rejetés par sélection groupage . :
Statistiques d'activité du chemin d'accès :
Lectures logiques du chemin d'accès . . : 16.577.635
Lectures physiques du chemin d'accès . :
Taille du chemin d'accès . . . . . . . : 1392640
Nombre de postes du chemin d'accès . . : 45140
Validité du chemin d'accès . . . . . . : Oui
Partage de chemin d'accès implicite . . : Non
Chemin d'accès journalisé . . . . . . . : Non
Nombre val clés partielles uniques . . :
Zone clé 1 . . . . . . . . . . . . . : 62
Zones clés 1 à 2 . . . . . . . . . . : 299
Zones clés 1 à 3 . . . . . . . . . . : 2637
Zones clés 1 à 4 . . . . . . . . . . : 22821
Date/heure de dernière modification . . . : 08/03/11 16:55:1
Date/heure de dernière sauvegarde . . . . : 08/03/11 01:37:2
Date/heure de dernière restauration . . . : 22/05/10 17:26:3
Date de dernière utilisation . . . . . . : 08/03/11
Nombre de jours d'utilisation . . . . . . : 66
Date de réinitialisation . . . . . . . :
Objet restauré avec des transactions partielles,
appliquer modifications de journal requises . : *NO
Transaction partielle existante,
arrêt de l'invalidation . . . . . . . . . : *NO
Récepteur journal de début pour applicat :
Bibliothèque . . . . . . . . . . . . . :
Unité ASP . . . . . . . . . . . . . . . :
Liste des formats
Long Identificateur
Format Zones enreg niveau format
EDMPR 44 409 3DD6ACCCDAEBD
Texte . . . . . . . . . . . . . . . . . . :
Nombre total de formats . . . . . . . . . . : 1
Nombre total de zones . . . . . . . . . . . : 44
Longueur total enregistrement . . . . . . . : 409
Liste des membres
Type Date Dernière modif
Membre Taille Type création Date Heure Enregs
FDMPR 95854592 21/01/06 08/03/11 16:55:13 45140
Texte :Fich.Ph.DEMANDE DE PRIX ENTETE
Nombre total de membres . . . . . . . . . : 1
Nombre total de membres non disponibles. . : 0
Nombre total d'enregistrements . . . . . . : 45140
Nombre total d'enregistrements supprimés . : 176290
Taille globale des membres . . . . . . . . : 95854592
Version 5 edition 4
Merci
Tout à l'air normal.
D'ailleurs tu peux essayer ta requête sous STRSQL tu verras bien.
je pense que le problème vient de WEBDEV que personnellement je ne connais pas. Regarde plutôt de ce côté là. Essaye un simple SELECT * FROM pour voir.
Courage
des simples select avec rownumber marche bien mais select impriqué ça marche pas avec rownumber
sur STRSQL et Iserie ça marche bien aussi
Je ne me rappelle plus bien mais je crains pour toi que les fonctions OLAP telles que row_number() ne soient pas supportées en V5R4. Je n'en suis cependant pas sûr mais Patrick (K2R400) va vite nous le confirmer ou infirmer.
D'accord merci bien
Non, je viens de m'en souvenir, ce n'est pas cà. D'ailleurs, ça marche en direct sur l'AS400, alors c'est pas çà, désolé !
Puisque ça marche sur l'AS400, tu pourrais mettre ta requête OLAP dans un procédure stockée sur DB2/400 (CREATE PROCEDURE) et l'appeler ensuite depuis Webdev. Je sais qu'il y a de (mauvaises) surprises avec Webdev.
D'accord merci boucoup
je sais pas comment je peux appeller une procédure stocké stocké depuis webdev si comme un progamme RPG?
Je crois que tu dois l'appeler par un SQLEXEC mais mes connaissances Webdev sont ultra limitées donc je n'en suis pas sûr.
Vérifie en recherchant "procédures stockées" dans ce support de cours Webdev.
D'accord
Merci
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager