Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1228 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Aide sur les datetime d'Oracle pour une modotte à forte poitrine

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

Aide sur les datetime d'Oracle pour une modotte à forte poitrine

n°919738
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 10-12-2004 à 15:34:19  profilanswer
 

j'ai un souci avec ce $£§!%* d'Oracle : j'importe dans une table des données en provenance d'un autre SGBF, qui gère les datetime à la milliseconde près. Ce champ étant un champ critique, je souhaite lui coller un index et j'obtiens un merveilleux "ORA-01452: cannot CREATE UNIQUE INDEX; duplicate keys found"
diantre me dis-je ! des clés dupliquées ! et là, je me souviens que les datetime d'Oracle vont jusqu'à la seconde, me voila dans la merde !
 
qwechtieunne :  
- comment pourrais-je simuler un datetime à la milliseconde ?
- comment indexer ce truc ?

mood
Publicité
Posté le 10-12-2004 à 15:34:19  profilanswer
 

n°919750
skeye
Posté le 10-12-2004 à 15:47:01  profilanswer
 

au pire, tu peux créer un champ supplémentaire pour y mettre les millisecondes qui débordent et utiliser le doublet comme clé, non? :??:


Message édité par skeye le 10-12-2004 à 15:47:28

---------------
Can't buy what I want because it's free -
n°919752
vttman2
Je suis Open ...
Posté le 10-12-2004 à 15:49:20  profilanswer
 

Bon j'ai pas oracle sous la main mais
si tu transformes ton datetime_millisecondes  
en chaine de caractères, tu peux sans doute importer
la première partie datetime_secondes dans un
nouveau champ et la partie restante millisecondes dans un
autre champ ... puis créer un index unique sur  
ces 2 champs, non ?

n°919754
vttman2
Je suis Open ...
Posté le 10-12-2004 à 15:49:49  profilanswer
 

Grillaid !

n°919765
gizmo
Posté le 10-12-2004 à 15:56:27  profilanswer
 

Question subsidiaire: t'as vraiment besoin que l'index soit unique?
 
PS: et le coup de la fille, on me l'a déjà fait, ca marche pas avec moi :o

n°919806
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 10-12-2004 à 16:32:27  profilanswer
 

skeye a écrit :

au pire, tu peux créer un champ supplémentaire pour y mettre les millisecondes qui débordent et utiliser le doublet comme clé, non? :??:


 

vttman2 a écrit :

Bon j'ai pas oracle sous la main mais
si tu transformes ton datetime_millisecondes  
en chaine de caractères, tu peux sans doute importer
la première partie datetime_secondes dans un
nouveau champ et la partie restante millisecondes dans un
autre champ ... puis créer un index unique sur  
ces 2 champs, non ?


c'était ma 1ere idée, je l'ai testé, mais ça me pénalise énormément au niveau vitesse :/
c'est une table de plus de 10 millions d'enregistrements [:joce]
 

gizmo a écrit :

Question subsidiaire: t'as vraiment besoin que l'index soit unique?


non, et ça m'a donné une idée : si je créé une surrogate key rattachée à une séquence, ça me permet d'avoir une clé unique, avec un index non unique. ça te semble viable ?

n°919837
gizmo
Posté le 10-12-2004 à 16:53:07  profilanswer
 

oui, mais encore faut-il voir si ta clef unique va être utilisée dans une relation, sinon tu n'as même pas besoin d'elle.

n°919841
jielbi
Posté le 10-12-2004 à 17:04:52  profilanswer
 

sauf erreur de ma part : à partir de la version 9 (peut etre en 8i, à vérifier), le type de données TIMESTAMP permet de répondre à tes besoins.....il fonctionne comme le type DATE mais permet la gestion des fractions de seconde.

n°919954
gizmo
Posté le 10-12-2004 à 19:01:05  profilanswer
 

oui, enfin, on peut supposer que harko s'y connait suffisament pour avoir cherché si timestamp existait dans sa version d'Oracle avant de poser sa question. non?

n°919962
chrisbk
-
Posté le 10-12-2004 à 19:06:00  profilanswer
 

HEUH LE COUP DE LA BLONDE A FORTE POITRINE POUR APPATER LE CHALAND? C COPYRIGHT(MOI) :o :o :o :o :o :o

mood
Publicité
Posté le 10-12-2004 à 19:06:00  profilanswer
 

n°919971
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 10-12-2004 à 19:17:12  profilanswer
 

jielbi a écrit :

sauf erreur de ma part : à partir de la version 9 (peut etre en 8i, à vérifier), le type de données TIMESTAMP permet de répondre à tes besoins.....il fonctionne comme le type DATE mais permet la gestion des fractions de seconde.

n'existe pas sur 8i :spamafote:


---------------
J'ai un string dans l'array (Paris Hilton)
n°919972
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 10-12-2004 à 19:17:44  profilanswer
 

chrisbk a écrit :

HEUH LE COUP DE LA BLONDE A FORTE POITRINE POUR APPATER LE CHALAND? C COPYRIGHT(MOI) :o :o :o :o :o :o

"les bonnes idées sont faites pour être réutilisées" (c) moi :o


---------------
J'ai un string dans l'array (Paris Hilton)
n°919974
skeye
Posté le 10-12-2004 à 19:19:54  profilanswer
 

Harkonnen a écrit :

n'existe pas sur 8i :spamafote:


8i n'est plus supporté, passe à 9i ou 10chépakellelettre et fais pas chier!:o


---------------
Can't buy what I want because it's free -
n°919986
thecoin
Chasseur de chasseur de canard
Posté le 10-12-2004 à 19:42:10  profilanswer
 

10g
 
Pourquoi pas un NUMBER(17) et stocker la date sous forme aaaammjjhhmissdcm?
 
Qui a dit barbare? :whistle:

n°920170
mareek
Et de 3 \o/
Posté le 11-12-2004 à 01:01:12  profilanswer
 

Harkonnen a écrit :

j'ai un souci avec ce $£§!%* d'Oracle : j'importe dans une table des données en provenance d'un autre SGBF, qui gère les datetime à la milliseconde près. Ce champ étant un champ critique, je souhaite lui coller un index et j'obtiens un merveilleux "ORA-01452: cannot CREATE UNIQUE INDEX; duplicate keys found"
diantre me dis-je ! des clés dupliquées ! et là, je me souviens que les datetime d'Oracle vont jusqu'à la seconde, me voila dans la merde !
 
qwechtieunne :  
- comment pourrais-je simuler un datetime à la milliseconde ?
- comment indexer ce truc ?


t'as essayé d'enlever le UNIQUE dans "CREATE UNIQUE INDEX" ? [:itm]
t'as besoin de la milliseconde ou c'est juste pour que ça soit comme avant ? :??:


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
n°920182
the real m​oins moins
Posté le 11-12-2004 à 01:28:14  profilanswer
 

ben +1 avec mareek [:mlc], t'as pas l'air de faire la différence entre index et clé unique :??:
 
(et qui c'est les guignols qui proposent d'ajouter les millisecondes pour solutionner ce problème? en quoi ça va rendre les timestamps unique? [:kiki])

n°920321
vttman2
Je suis Open ...
Posté le 11-12-2004 à 13:10:42  profilanswer
 

the real moins moins a écrit :

ben +1 avec mareek [:mlc], t'as pas l'air de faire la différence entre index et clé unique :??:
 
(et qui c'est les guignols qui proposent d'ajouter les millisecondes pour solutionner ce problème? en quoi ça va rendre les timestamps unique? [:kiki])


 
Guignols oui ... mais de l'info  :pfff:  
 
Ecoute mon gros  :kaola: si tas d'un coté base X un
timestamp TX à la milliseconde qui joue le rôle de clé unique
et de l'autre  base Y des timestamp limités à la seconde TY, la soluce
la + évidente est de découper TX en TY + TZ  
 
Maintenant à question générale ... réponse générale   :o  
 

n°920341
the real m​oins moins
Posté le 11-12-2004 à 13:34:03  profilanswer
 

euh, je n'avais pas saisi que la base d'origine avait une clé unique sur cette fameuse colonne timestamp.
c'est bien CA ce que je trouve idiot hein :o


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°920364
mareek
Et de 3 \o/
Posté le 11-12-2004 à 13:53:55  profilanswer
 

vttman2 a écrit :

Guignols oui ... mais de l'info  :pfff:  
 
Ecoute mon gros  :kaola: si tas d'un coté base X un
timestamp TX à la milliseconde qui joue le rôle de clé unique
et de l'autre  base Y des timestamp limités à la seconde TY, la soluce
la + évidente est de découper TX en TY + TZ  
 
Maintenant à question générale ... réponse générale   :o


Mettre le timestamp en clef c'est stupide :spamafote:
La meilleur chose à faire, c'est de mettre la clef sur un entier lié à une séquence.


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
n°920375
vttman2
Je suis Open ...
Posté le 11-12-2004 à 14:00:12  profilanswer
 

mareek a écrit :

Mettre le timestamp en clef c'est stupide :spamafote:
La meilleur chose à faire, c'est de mettre la clef sur un entier lié à une séquence.


 
+1 Mais je suis d'accord avec toi Mareek  
 
Mais bon au départ on parlait d'unique index qui marchait pas
car dans la cible on tronquait les millisecondes et donc
ça créait des doublons ...
 

n°922240
Arjuna
Aircraft Ident.: F-MBSD
Posté le 13-12-2004 à 21:14:50  profilanswer
 

moi je suis ++ avec ceux qui pense qu'une clé unique sur un tel champ est dangereux (je ne remet par contre pas en compte d'utilité de stocker à la milliseconde près :D)

n°922266
chrisbk
-
Posté le 13-12-2004 à 21:26:26  profilanswer
 

et une fois de plus tu nous montre la que tu n'as aucune connaissance du fonctionnement d'un vrai sgbd [:sinking]

n°922276
Arjuna
Aircraft Ident.: F-MBSD
Posté le 13-12-2004 à 21:37:36  profilanswer
 

explique-toi stp

n°922277
chrisbk
-
Posté le 13-12-2004 à 21:38:55  profilanswer
 

je suis le stagiaire d'harko, je n'ai pas a m'expliquer [:sinking]

n°922279
Arjuna
Aircraft Ident.: F-MBSD
Posté le 13-12-2004 à 21:48:59  profilanswer
 

chrisbk a écrit :

je suis le stagiaire d'harko, je n'ai pas a m'expliquer [:sinking]


ça c'est constructif comme intervention. ça représente bien le personnage.
 
tiens, j'ai une chanson pour toi :
 

Citation :


Brassens - Quand les cons sont braves
 
Sans être tout à fait un imbécile fini,
Je n'ai rien du penseur, du phénix, du génie.
Mais je n' suis pas le mauvais bougre et j'ai bon cœur,
Et ça compense à la rigueur.
 
{Refrain:}
Quand les cons sont braves
Comme moi,
Comme toi,
Comme nous,
Comme vous,
Ce n'est pas très grave.
Qu'ils commettant,
Se permettent
Des bêtises,
Des sottises,
Qu'ils déraisonnent,
Ils n'emmerdent personne.
Par malheur sur terre
Les trois quarts
Des tocards
Sont des gens
Très méchants,
Des crétins sectaires.
Ils s'agitent,
Ils s'excitent,
Ils s'emploient,
Ils déploient
Leur zèle à la ronde,
Ils emmerdent tout l' monde.
 
Si le sieur X était un lampiste ordinaire,
Il vivrait sans histoir's avec ses congénères.
Mais hélas ! il est chef de parti, l'animal :
Quand il débloque, ça fait mal !
 
{Refrain}
 
Si le sieur Z était un jobastre sans grade,
Il laisserait en paix ses pauvres camarades.
Mais il est général, va-t-en-guerr', matamore.
Dès qu'il s'en mêle, on compt' les morts.
 
{Refrain}
 
Mon Dieu, pardonnez-moi si mon propos vous fâche
En mettant les connards dedans des peaux de vaches,
En mélangeant les genr's, vous avez fait d' la terre
Ce qu'elle est : une pétaudière !
 
{Refrain}


 
Merci beaucoup pour ta belle performance tout de même :jap:
 
En tout cas, une chose me rassure : je n'ai fait que confirmer les dires de deux personnes qui s'y connaissent assez bien, pour une fois mise à part toi, on me foutra peut-être la paix.


Message édité par Arjuna le 13-12-2004 à 21:50:49
n°922281
chrisbk
-
Posté le 13-12-2004 à 21:53:16  profilanswer
 

ah oui ? et bien moi je te dédie celle la


 
Moskau
Fremd und geheimnisvoll
Türme aus rotem Gold
Kalt wie das Eis
Moskau
Doch wer dich wirklich kennt
Der weiß, ein Feuer brennt
In dir so heiß
 
Kosaken hey hey hey hebt die Gläser
hey hey
Natascha ha ha ha du bist schön
ha ha
Tovarisch(?) hey hey hey auf das Leben
hey hey
Auf Dein Wohl Bruder hey Bruder ho
hey hey hey hey
Moskau, Moskau
Wirf die Gläser an die Wand
Rußland ist ein schönes Land
Ho ho ho ho ho, hey
Moskau, Moskau
Deine Seele ist so groß
Nachts da ist der Teufel los
Ha ha ha ha ha, hey
Moskau, Moskau
Liebe schmeckt wie Kaviar
Mädchen sind zum küssen da
Ho ho ho ho ho, hey
Moskau, Moskau
Komm wir tanzen auf dem Tisch
Bis der Tisch zusammenbricht
Ha ha ha ha ha
 
Moskau
Tor zur Vergangenheit
Spiegel der Zarenzeit
Rot wie das Blut
Moskau
Wer deine Seele kennt
Der weiß, die Liebe brennt
Heiß wie die Glut
 
Kosaken hey hey hey hebt die Gläser
hey hey
Natascha ha ha ha du bist schön
ha ha
Tovarisch(?) hey hey hey auf die Liebe
hey hey
Auf Dein Wohl Mädchen hey Mädczhen ho
hey hey hey hey
Moskau, Moskau
Wirf die Gläser an die Wand
Rußland ist ein schönes Land
Ho ho ho ho ho, hey
Moskau, Moskau
Deine Seele ist so groß
Nachts da ist der Teufel los
Ha ha ha ha ha, hey
Moskau
Lala lala lala la, lala lala lala la
Ho ho ho ho ho, hey
Moskau
Lala lala lala la, lala lala lala la
Ha ha ha ha ha
 
Oh, oh oh oh oh, oh oh oh, oh oh oh oh
Moskau, Moskau
Moskau, Moskau
Wodka trinkt man pur und kalt
Das macht hundert Jahre alt
Ho ho ho ho ho, hey
Moskau, Moskau
Väterchen dein Glas ist leer
Doch im Keller ist noch mehr
Ha ha ha ha ha
 
Kosaken hey hey hey hebt die Gläser
hey hey
Natascha ha ha ha du bist schön
ha ha
Tovarisch hey hey hey auf die Liebe
hey hey
Auf Dein Wohl Bruder hey Bruder ho
hey hey hey hey
Moskau, Moskau
Wirf die Gläser an die Wand
Rußland ist ein schönes Land
Ho ho ho ho ho, hey
Moskau, Moskau
Deine Seele ist so groß
Nachts da ist der Teufel los
Ha ha ha ha ha, hey
Moskau, Moskau
Liebe schmeckt wie Kaviar
Mädchen sind zum küssen da
Ho ho ho ho ho


 
et je te prends au ping pong quand tu veux.

n°922284
Arjuna
Aircraft Ident.: F-MBSD
Posté le 13-12-2004 à 21:56:31  profilanswer
 

c'est le topic de "ton maître de stage" qu'on pollue là, moi je m'en fous à la base.

n°922285
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 13-12-2004 à 21:56:47  profilanswer
 

bon on va pas épiloguer hein ! je me suis démerdé avec une surrogate key, ça marche très bien et voila !
quand au fait de mettre un index unique, et autres trucs qui vous paraissent bizarres, c'est juste qu'on m'a demandé de transférer des données venant d'une base DB2 vers une base Oracle et de respecter le plus possible la structure (donc de garder les indexes, et tout). maintenant, pourquoi mettre un index sur le timestamp, c'est parce que la base d'origine en possède un et puis voilà. apparemment l'application hote permet de rechercher des infos selon le critère de l'heure, d'ou la présence de l'index.
 
et pour répondre à moins moins : bien sur que je connais la différence entre index unique et clé unique [:kiki]


---------------
J'ai un string dans l'array (Paris Hilton)
n°922288
Arjuna
Aircraft Ident.: F-MBSD
Posté le 13-12-2004 à 21:59:02  profilanswer
 

pas de souci pour les explications harko :) celà dit, je reste sceptique quant à la véritable utilité d'un index unique sur ce type de champ, par rapport au risque de violation de clé.
par simple curriosité, c'est quoi comme infos ?


Message édité par Arjuna le 13-12-2004 à 21:59:44
n°922289
uriel
blood pt.2
Posté le 13-12-2004 à 21:59:09  profilanswer
 

DB2 vers Oracle... [:ciler]
 
 j'ai deja fait une fois, joli bordel a faire , mais ca fonctionnait


---------------
IVG en france
n°922291
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 13-12-2004 à 22:02:32  profilanswer
 

Arjuna a écrit :

pas de souci pour les explications harko :) celà dit, je reste sceptique quant à la véritable utilité d'un index unique sur ce type de champ, par rapport au risque de violation de clé.
par simple curriosité, c'est quoi comme infos ?

ce sont des infos boursières, donc des données très critiques au niveau de la date et de l'heure :D
"taiiiinnnnn, mon action a perdu 10 € depuis 9:02:04.125 :fou:"
"dommage, t'aurais du vendre, elle était à 40 € à 05:14:06.187 :dtc:"


---------------
J'ai un string dans l'array (Paris Hilton)
n°922292
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 13-12-2004 à 22:03:02  profilanswer
 

uriel a écrit :

DB2 vers Oracle... [:ciler]
 
 j'ai deja fait une fois, joli bordel a faire , mais ca fonctionnait

tu m'étonnes que c'est un joli bordel :/
 
edit: surtout que je bosse sur 8i [:sisicaivrai]


Message édité par Harkonnen le 13-12-2004 à 22:03:24

---------------
J'ai un string dans l'array (Paris Hilton)
n°922294
Arjuna
Aircraft Ident.: F-MBSD
Posté le 13-12-2004 à 22:05:04  profilanswer
 

ok. ça me semble bizarre qu'on ne risque pas d'avoir de boublon sur ce type d'infos :)
 
mais bon, si l'ancien système tournait correctement avec un index unique, pourquoi pas ;)
 
PS: si tu rédiges un compte rendu de migration, je te conseille d'y relater ce point, histoire que ça te retombe pas dessus si avec la nouvelle base ça merde ;)

n°922295
chrisbk
-
Posté le 13-12-2004 à 22:05:35  profilanswer
 

bin stocke la sous forme de chaine de caractere en utilisant QueryPerformanceCounter pour avoir une précision de ouf [:sinking]

n°922296
Arjuna
Aircraft Ident.: F-MBSD
Posté le 13-12-2004 à 22:07:04  profilanswer
 

chrisbk a écrit :

bin stocke la sous forme de chaine de caractere en utilisant QueryPerformanceCounter pour avoir une précision de ouf [:sinking]


ouais m'enfin vive les performances, passer d'un type float (en interne, une date n'est ni plus ni moins qu'un float) à un type non pondéré...
 
ceci dit, si les dates en question ne contiennent que la partie horraire, why not, puisque de toute façon, la décimale au niveau d'un datetime se fait entre la partie date et la partie horraire.


Message édité par Arjuna le 13-12-2004 à 22:09:11
n°922298
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 13-12-2004 à 22:07:25  profilanswer
 

Arjuna a écrit :

ok. ça me semble bizarre qu'on ne risque pas d'avoir de boublon sur ce type d'infos :)
 
mais bon, si l'ancien système tournait correctement avec un index unique, pourquoi pas ;)
 
PS: si tu rédiges un compte rendu de migration, je te conseille d'y relater ce point, histoire que ça te retombe pas dessus si avec la nouvelle base ça merde ;)

déjà fait, parce que j'ai rencontré des merdes encore pires que celle pour laquelle j'ai ouvert ce topic ! j'ai pas envie que tout le monde me tombe dessus parce que leur portefeuille se casse la gueule [:psywalk]


Message édité par Harkonnen le 13-12-2004 à 22:07:44

---------------
J'ai un string dans l'array (Paris Hilton)
n°922300
skeye
Posté le 13-12-2004 à 22:10:43  profilanswer
 

va bosser chez microsoft ils ont de bons avocats...:o

n°922301
Arjuna
Aircraft Ident.: F-MBSD
Posté le 13-12-2004 à 22:10:54  profilanswer
 

Harkonnen a écrit :

déjà fait, parce que j'ai rencontré des merdes encore pires que celle pour laquelle j'ai ouvert ce topic ! j'ai pas envie que tout le monde me tombe dessus parce que leur portefeuille se casse la gueule


c'est sûr qu'en plus, quand il s'agit de portefeuil d'actions, t'auras certainement du mal à dédomager une personne avec les 3 euros qui doivent traîner sur ton compte courrant :D

n°922318
the real m​oins moins
Posté le 13-12-2004 à 22:24:44  profilanswer
 

Harkonnen a écrit :

bon on va pas épiloguer hein ! je me suis démerdé avec une surrogate key, ça marche très bien et voila !
quand au fait de mettre un index unique, et autres trucs qui vous paraissent bizarres, c'est juste qu'on m'a demandé de transférer des données venant d'une base DB2 vers une base Oracle et de respecter le plus possible la structure (donc de garder les indexes, et tout). maintenant, pourquoi mettre un index sur le timestamp, c'est parce que la base d'origine en possède un et puis voilà. apparemment l'application hote permet de rechercher des infos selon le critère de l'heure, d'ou la présence de l'index.
 
et pour répondre à moins moins : bien sur que je connais la différence entre index unique et clé unique [:kiki]

euh tu le fais expres?
index != clé unique.
tu dis que y'avait un index et tu parles d'en faire une clé unique, y'a de quoi se poser des questions non?


Message édité par the real moins moins le 13-12-2004 à 22:25:53

---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°922319
Jubijub
Parce que je le VD bien
Posté le 13-12-2004 à 22:25:37  profilanswer
 

ca me fait peur oracle...si j'arrive à faire mon stage où je veux, je risque d'avoir à migrer une base SQL server vers de l'Oracle (du 9i ou + j'espère) ...et sortir de l'asp vers du JSP...
 
ca va etre fun et bigarré...


---------------
Jubi Photos : Flickr - 500px
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Aide sur les datetime d'Oracle pour une modotte à forte poitrine

 

Sujets relatifs
Script ms dos -> .bat !!! Besoin d'aide SVP !!Aide Excel et Outlook
[SGBD] Stats Oracle : Comment ça marche ? Que faire ?Oracle : Creer un role et l'attribuer à un user
Besoin d'aide script d'envoi de formulaire[Oracle] Créer une base de données
Requête Oracle avec Tomcat[Merise] besoin d'aide MCD Excel
Aide pour charger imageAide Ouverture Page
Plus de sujets relatifs à : Aide sur les datetime d'Oracle pour une modotte à forte poitrine


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR