Oracle - champs DATE à trier au 100ème de seconde

Oracle - champs DATE à trier au 100ème de seconde - SQL/NoSQL - Programmation

Marsh Posté le 22-02-2007 à 17:52:31    

Bonjour,
 
J'ai une table dans laquelle je stocke des demandes. Dans cette table il y a un champ DATE_DEMANDE de type DATE.  
J'insère des données dans cette table. A chaque fois j'insère la valeur sysdate dans le champ DATE_DEMANDE.
 
Je dois, dans un autre processus, traiter les demandes dans l'ordre dans lequel elles ont été insérées dans la table. Le problème c'est que  
parfois plusieurs demandes ont été insérées dans la MEME SECONDE. Dans ce cas un ORDER BY ne me retourne pas forcément les enregistrements dans le bon ordre ...  :cry:  
 
Comment faire pour les obtenir dans l'ordre dans lequel ils ont été insérés dans la table ? Y aurait il un champ auto incrémenté au niveau de chaque table  qui permette de retrouver l'ordre dans lequel les enregistrements ont été insérés ?
 
 :hello:  


---------------
"Comme des pommes d'or sur des ciselures d'argent, Ainsi est une parole dite à propos" (Proverbes de Salomon)
Reply

Marsh Posté le 22-02-2007 à 17:52:31   

Reply

Marsh Posté le 23-02-2007 à 08:06:16    

si tu tiens à utiliser des champs plus précis : utilise le type TIMESTAMP

Code :
  1. select systimestamp from dual;


 
si tu tiens à utiliser des ID, tu peux utiliser une séquence :

Code :
  1. create sequence schema.nom_sequence;
  2. insert into nom_table values (schema.nom_sequence.nextval);


par défaut si aucune option n'est spécifiée dans la création de la séquence, tu auras une séquence qui commence à 1 et qui s'incrémente de 1


Message édité par couak le 23-02-2007 à 08:11:24
Reply

Marsh Posté le 23-02-2007 à 09:59:46    

Merci beaucoup,
 
Je vais réfléchir ...


---------------
"Comme des pommes d'or sur des ciselures d'argent, Ainsi est une parole dite à propos" (Proverbes de Salomon)
Reply

Marsh Posté le 23-02-2007 à 12:12:56    

La 2è solution n'est pas équivalente à la 1ère. Il se peut qu'un enregistrement avec une date plus récente ait un ID inférieur, si les inserts se sont fait de manière rapprochée.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed