samedi 18 mai 2019

Oracle : la pseudo colonne ROWNUM et BETWEEN

Réflexion : https://stackoverflow.com/questions/1986998/resultset-to-pagination

La pseudo-colonne ROWNUM est très utile pour limiter le nombre de lignes extraites,
Il doit toujours s'appliquer avant un tri Order By

Donc s'il y a un tri, il est très difficile de d'appliquer cette pseudo colonne, il faut utiliser des sous-interrogations dans la clause FROM.

Exemple : 
https://www.developpez.net/forums/d3547/bases-donnees/oracle/sql/select-partir-rownum/
SELECT c.*
  FROM (SELECT c.*, ROWNUM as rnum
          FROM (SELECT id, username, job, place FROM contact ORDER BY id) c) c
 WHERE c.rnum BETWEEN 5 AND 10

vendredi 10 mai 2019

Erreur Oracle : ORA-01861: literal does not match format string

Soltuion : si la date est au format : 'YYYY-MM-DD', il faut utiliser la fonction to_date :

Exemple :

Column = = to_date('2019-04-04', 'YYYY-MM-DD'),

mercredi 8 mai 2019

Type des processeur(Parssseur ) XML avec exmple pour Java DOM, Sax, Jaxb


  • Tree-based  : représente le document XML en entier comme un arbre d'objet en mémoire
    • l’avantage est de pouvoir traverser l'arbre dans les deux sens, facile à utiliser avec XPath pour la recherche  du contenu à l’intérieur du document.
    • L’inconvénient est le besoin d’utiliser plus de mémoire.
  • Streaming : traite un seul nœud de l'arbre à la fois, soit pour la construction ou le parsing de XML, contient deux types de processeur : pull (comme StaX)et push (comme Sax).
    • l’avantage est qu'il très rapide
    • L’inconvénient : le document XML n'est pas stocker en mémoire donc, pas de possibilité de faire la recherche de contenu avec Xpath.
    • Sax fait de la lecture seul, donc sait uniquement comment lire de l'XML, mais pas comment le créer.
  • Binding Style : ressemble au DOM-Style, il stock tous les données en mémoire en même temps. Comme JAXB, 
    • Pour les développement, il faut ajouter des annotations au niveau des POJOs, pour indiquer quelle propriétés ou champs sera mapper la structure du fichier XML.
    • Facilite la sérialisation et deserialisation du contenu 
    • Facile à maintenir 
  • JAXP : Java API for XML Processing
  • XStream : Se base sur DOM ou Sax, utile pour la sérialisation de XML.

Sax vs DOM : 
Sax peut démarrer le traitement avant que le document entier ne soit disponible.
Il ne peut pas faire de backward en arrière pour relire les données qu'il a traitées, à moins de tout recommencer.