IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Oracle Discussion :

[8i]impossible de créer une table dans une procedure stockée ?


Sujet :

SQL Oracle

  1. #21
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    J'étais allé cherche le cours de SheikYerbouti
    http://sheikyerbouti.developpez.com/execute_immediate/
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  2. #22
    Membre du Club
    Profil pro
    Développeur .NET
    Inscrit en
    Février 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2006
    Messages : 107
    Points : 56
    Points
    56
    Par défaut
    Citation Envoyé par McM
    C'est quoi ta version de base ? (gusrom86, pas garuda)
    je viens de remarquer...

    SQL*Plus: Release 8.0.6.0.0 - Production on Tue Jul 24 13:55:11 2007

    (c) Copyright 1999 Oracle Corporation. All rights reserved.


    Connected to:
    Oracle7 Server Release 7.3.4.4.0 - Production
    With the distributed, replication and parallel query options
    PL/SQL Release 2.3.4.4.0 - Production


    J'etais certain que c'etait le 8...mouarf...je suis choqué, cela fait un an que je suis dessus et je savais pas quel version j'avais...j'ai honte

  3. #23
    Membre chevronné Avatar de Garuda
    Homme Profil pro
    Chef de projet / Urbaniste SI
    Inscrit en
    Juin 2007
    Messages
    1 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet / Urbaniste SI
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 285
    Points : 2 071
    Points
    2 071
    Par défaut
    Je disais simplement que le code compilait dans ma version (8.1.7).
    Donc pas à priori une erreur de syntaxe.
    Garuda गरूड
    Brahmâ la Guerre et Vishnu la Paix

    Oracle 12C R2 - Forms11GR2 - Toad 12 - sharePoint 2010

  4. #24
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Ok, mais t'avais pas dit que t'étais en 8.1.7

    Gusrom86 : Tu vas devoir passer par le dbms_sql
    Ou alors, tu crées la table et dans ta procédure, tu fais un TRUNCATE puis un INSERT.

    Je réitère mon alerte : Attention si un champ est null la ligne n'est pas récupérée, même si tous les champs sont égaux.
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  5. #25
    Membre du Club
    Profil pro
    Développeur .NET
    Inscrit en
    Février 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2006
    Messages : 107
    Points : 56
    Points
    56
    Par défaut
    Citation Envoyé par McM
    Ok, mais t'avais pas dit que t'étais en 8.1.7

    Gusrom86 : Tu vas devoir passer par le dbms_sql
    Ou alors, tu crées la table et dans ta procédure, tu fais un TRUNCATE puis un INSERT.

    Je réitère mon alerte : Attention si un champ est null la ligne n'est pas récupérée, même si tous les champs sont égaux.
    je vais d'abord tester le not exists...cela me permettra d'eviter la création d'une table inutile...

    Pour le null, je vais mettre des nvl un peu partout au cas ou, merci pour ton alerte

  6. #26
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    C'est un peu bourrin comme test. Oracle a prévu le MINUS pour ça.
    (Mais attention, le MINUS fait un DISTINCT et un tri).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    SELECT SERVEUR, EMETTEUR, BORDEREAU, NUMERO_DE_LIGNE, PHASE_REBUT, DATE_REBUT, HEURE_REBUT, 
    		CODE_DEFAUT, OEIL, DATE_COMMANDE, HEURE_COMMANDE, DATE_BON_A_FACTURER, HEURE_BON_A_FACTURER, 
    DATE_ANNULATION, HEURE_ANNULATION, TYPE_ARTICLE, TYPE_FABRICATION2, STOCK_1_FAB_0, MARQUE, TEINTE, 
    DIAMETRE, SPHERE, CYLINDRE, PS1, PS2, PS3, PS4, PS5, CODE_CLIENT, CORRESPONDANTE, 
    SERVEUR_FORCE_PDC, DELAI_COMMANDE, DELAI_CHARTE, QUANTITE, STOCK_EN_ETAT, MANQUANT, MATIERE, 
    TYPE_MATIERE, GENRE, TYPE_COLO, TYPE_CSV, TYPE_TSV, PHASE_00, DATE_00, HEURE_00, PHASE_SURF, 
    DATE_SURF, HEURE_SURF, COMPTEUR_SURF, PHASE_COLO, DATE_COLO, HEURE_COLO, COMPTEUR_COLO, 
    PHASE_SUPRA, DATE_SUPRA, HEURE_SUPRA, COMPTEUR_SUPRA, PHASE_CSV, DATE_CSV, HEURE_CSV, 
    COMPTEUR_CSV, PHASE_TSV, DATE_TSV, HEURE_TSV, COMPTEUR_TSV, PHASE_TOPCOAT, DATE_TOPCOAT, 
    HEURE_TOPCOAT, COMPTEUR_TOP_COAT, PHASE_70, DATE_70, HEURE_70, COMPTEUR_70, PHASE_80, 
    DATE_80, HEURE_80, COMPTEUR_80, PHASE_FIN, DATE_FIN, HEURE_FIN, COMPTEUR
    FROM extfil
    MINUS
    SELECT SERVEUR, EMETTEUR, BORDEREAU, NUMERO_DE_LIGNE, PHASE_REBUT, DATE_REBUT, HEURE_REBUT, 
    		CODE_DEFAUT, OEIL, DATE_COMMANDE, HEURE_COMMANDE, DATE_BON_A_FACTURER, HEURE_BON_A_FACTURER, 
    DATE_ANNULATION, HEURE_ANNULATION, TYPE_ARTICLE, TYPE_FABRICATION2, STOCK_1_FAB_0, MARQUE, TEINTE, 
    DIAMETRE, SPHERE, CYLINDRE, PS1, PS2, PS3, PS4, PS5, CODE_CLIENT, CORRESPONDANTE, 
    SERVEUR_FORCE_PDC, DELAI_COMMANDE, DELAI_CHARTE, QUANTITE, STOCK_EN_ETAT, MANQUANT, MATIERE, 
    TYPE_MATIERE, GENRE, TYPE_COLO, TYPE_CSV, TYPE_TSV, PHASE_00, DATE_00, HEURE_00, PHASE_SURF, 
    DATE_SURF, HEURE_SURF, COMPTEUR_SURF, PHASE_COLO, DATE_COLO, HEURE_COLO, COMPTEUR_COLO, 
    PHASE_SUPRA, DATE_SUPRA, HEURE_SUPRA, COMPTEUR_SUPRA, PHASE_CSV, DATE_CSV, HEURE_CSV, 
    COMPTEUR_CSV, PHASE_TSV, DATE_TSV, HEURE_TSV, COMPTEUR_TSV, PHASE_TOPCOAT, DATE_TOPCOAT, 
    HEURE_TOPCOAT, COMPTEUR_TOP_COAT, PHASE_70, DATE_70, HEURE_70, COMPTEUR_70, PHASE_80, 
    DATE_80, HEURE_80, COMPTEUR_80, PHASE_FIN, DATE_FIN, HEURE_FIN, COMPTEUR
    FROM extfil_hist
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  7. #27
    Membre du Club
    Profil pro
    Développeur .NET
    Inscrit en
    Février 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2006
    Messages : 107
    Points : 56
    Points
    56
    Par défaut
    donc ca serait quelquechose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    insert into extfil_temp (SERVEUR, EMETTEUR, BORDEREAU, NUMERO_DE_LIGNE, PHASE_REBUT, DATE_REBUT, HEURE_REBUT, CODE_DEFAUT, OEIL, DATE_COMMANDE, HEURE_COMMANDE, DATE_BON_A_FACTURER, HEURE_BON_A_FACTURER, DATE_ANNULATION, HEURE_ANNULATION, TYPE_ARTICLE, TYPE_FABRICATION2, STOCK_1_FAB_0, MARQUE, TEINTE, DIAMETRE, SPHERE, CYLINDRE, PS1, PS2, PS3, PS4, PS5, CODE_CLIENT, CORRESPONDANTE, SERVEUR_FORCE_PDC, DELAI_COMMANDE, DELAI_CHARTE, QUANTITE, STOCK_EN_ETAT, MANQUANT, MATIERE, TYPE_MATIERE, GENRE, TYPE_COLO, TYPE_CSV, TYPE_TSV, PHASE_00, DATE_00, HEURE_00, PHASE_SURF, DATE_SURF, HEURE_SURF, COMPTEUR_SURF, PHASE_COLO, DATE_COLO, HEURE_COLO, COMPTEUR_COLO, PHASE_SUPRA, DATE_SUPRA, HEURE_SUPRA, COMPTEUR_SUPRA, PHASE_CSV, DATE_CSV, HEURE_CSV, COMPTEUR_CSV, PHASE_TSV, DATE_TSV, HEURE_TSV, COMPTEUR_TSV, PHASE_TOPCOAT, DATE_TOPCOAT, HEURE_TOPCOAT, COMPTEUR_TOP_COAT, PHASE_70, DATE_70, HEURE_70, COMPTEUR_70, PHASE_80, DATE_80, HEURE_80, COMPTEUR_80, PHASE_FIN, DATE_FIN, HEURE_FIN, COMPTEUR)
    SELECT SERVEUR, EMETTEUR, BORDEREAU, NUMERO_DE_LIGNE, PHASE_REBUT, DATE_REBUT, HEURE_REBUT, 
    		CODE_DEFAUT, OEIL, DATE_COMMANDE, HEURE_COMMANDE, DATE_BON_A_FACTURER, HEURE_BON_A_FACTURER, 
    DATE_ANNULATION, HEURE_ANNULATION, TYPE_ARTICLE, TYPE_FABRICATION2, STOCK_1_FAB_0, MARQUE, TEINTE, 
    DIAMETRE, SPHERE, CYLINDRE, PS1, PS2, PS3, PS4, PS5, CODE_CLIENT, CORRESPONDANTE, 
    SERVEUR_FORCE_PDC, DELAI_COMMANDE, DELAI_CHARTE, QUANTITE, STOCK_EN_ETAT, MANQUANT, MATIERE, 
    TYPE_MATIERE, GENRE, TYPE_COLO, TYPE_CSV, TYPE_TSV, PHASE_00, DATE_00, HEURE_00, PHASE_SURF, 
    DATE_SURF, HEURE_SURF, COMPTEUR_SURF, PHASE_COLO, DATE_COLO, HEURE_COLO, COMPTEUR_COLO, 
    PHASE_SUPRA, DATE_SUPRA, HEURE_SUPRA, COMPTEUR_SUPRA, PHASE_CSV, DATE_CSV, HEURE_CSV, 
    COMPTEUR_CSV, PHASE_TSV, DATE_TSV, HEURE_TSV, COMPTEUR_TSV, PHASE_TOPCOAT, DATE_TOPCOAT, 
    HEURE_TOPCOAT, COMPTEUR_TOP_COAT, PHASE_70, DATE_70, HEURE_70, COMPTEUR_70, PHASE_80, 
    DATE_80, HEURE_80, COMPTEUR_80, PHASE_FIN, DATE_FIN, HEURE_FIN, COMPTEUR
    FROM extfil
    MINUS
    SELECT SERVEUR, EMETTEUR, BORDEREAU, NUMERO_DE_LIGNE, PHASE_REBUT, DATE_REBUT, HEURE_REBUT, 
    		CODE_DEFAUT, OEIL, DATE_COMMANDE, HEURE_COMMANDE, DATE_BON_A_FACTURER, HEURE_BON_A_FACTURER, 
    DATE_ANNULATION, HEURE_ANNULATION, TYPE_ARTICLE, TYPE_FABRICATION2, STOCK_1_FAB_0, MARQUE, TEINTE, 
    DIAMETRE, SPHERE, CYLINDRE, PS1, PS2, PS3, PS4, PS5, CODE_CLIENT, CORRESPONDANTE, 
    SERVEUR_FORCE_PDC, DELAI_COMMANDE, DELAI_CHARTE, QUANTITE, STOCK_EN_ETAT, MANQUANT, MATIERE, 
    TYPE_MATIERE, GENRE, TYPE_COLO, TYPE_CSV, TYPE_TSV, PHASE_00, DATE_00, HEURE_00, PHASE_SURF, 
    DATE_SURF, HEURE_SURF, COMPTEUR_SURF, PHASE_COLO, DATE_COLO, HEURE_COLO, COMPTEUR_COLO, 
    PHASE_SUPRA, DATE_SUPRA, HEURE_SUPRA, COMPTEUR_SUPRA, PHASE_CSV, DATE_CSV, HEURE_CSV, 
    COMPTEUR_CSV, PHASE_TSV, DATE_TSV, HEURE_TSV, COMPTEUR_TSV, PHASE_TOPCOAT, DATE_TOPCOAT, 
    HEURE_TOPCOAT, COMPTEUR_TOP_COAT, PHASE_70, DATE_70, HEURE_70, COMPTEUR_70, PHASE_80, 
    DATE_80, HEURE_80, COMPTEUR_80, PHASE_FIN, DATE_FIN, HEURE_FIN, COMPTEUR
    FROM extfil_hist;
    je test et je vous reponds la semaine prochaine, voir si ca marche...

  8. #28
    Membre du Club
    Profil pro
    Développeur .NET
    Inscrit en
    Février 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2006
    Messages : 107
    Points : 56
    Points
    56
    Par défaut
    cette méthode ne fonctionne pas! (la aussi il ne tient pas compte du null dans certains champs ? )
    a votre avis, quel méthode serait la meilleure pour virer des doublons parfaits ?

  9. #29
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Désolé, je ne te crois pas : Qu'est ce qui ne marche pas ?
    Donne un exemple.
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  10. #30
    Membre du Club
    Profil pro
    Développeur .NET
    Inscrit en
    Février 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2006
    Messages : 107
    Points : 56
    Points
    56
    Par défaut
    eh bien disons que si j'avais rien a la base dans extfil_hist, cela passe.
    Mais le lendemain, quand j'ai des données dans la table historique (extfil_hist), eh bien malgres le minus cela ne passe pas...enfin, des doublons viennent tout de même!

  11. #31
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Poste un exemple concret de doublon sur tes 2 tables qui ressortirait par la requête.
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  12. #32
    Membre du Club
    Profil pro
    Développeur .NET
    Inscrit en
    Février 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2006
    Messages : 107
    Points : 56
    Points
    56
    Par défaut
    Citation Envoyé par McM
    Poste un exemple concret de doublon sur tes 2 tables qui ressortirait par la requête.
    je tente un dernier truc, j'aurai le resultat que demain...
    Si ca marche tjrs pas, je mettrai le resultat d'une requete...

  13. #33
    Membre du Club
    Profil pro
    Développeur .NET
    Inscrit en
    Février 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2006
    Messages : 107
    Points : 56
    Points
    56
    Par défaut
    bon voila un exemple sur lequel j'ai des doublons :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SERVEUR	EMETTEUR	BORDEREAU	NUMERO_DE_LIGNE	PHASE_REBUT	DATE_REBUT	HEURE_REBUT	CODE_DEFAUT	OEIL	DATE_COMMANDE	HEURE_COMMANDE	DATE_BON_A_FACTURER	HEURE_BON_A_FACTURER	DATE_ANNULATION	HEURE_ANNULATION	TYPE_ARTICLE	TYPE_FABRICATION2	STOCK_1_FAB_0	MARQUE	TEINTE	DIAMETRE	SPHERE	CYLINDRE	PS1	PS2	PS3	PS4	PS5	CODE_CLIENT	CORRESPONDANTE	SERVEUR_FORCE_PDC	DELAI_COMMANDE	DELAI_CHARTE	QUANTITE	STOCK_EN_ETAT	MANQUANT	MATIERE	TYPE_MATIERE	GENRE	TYPE_COLO	TYPE_CSV	TYPE_TSV	PHASE_00	DATE_00	HEURE_00	PHASE_SURF	DATE_SURF	HEURE_SURF	COMPTEUR_SURF	PHASE_COLO	DATE_COLO	HEURE_COLO	COMPTEUR_COLO	PHASE_SUPRA	DATE_SUPRA	HEURE_SUPRA	COMPTEUR_SUPRA	PHASE_CSV	DATE_CSV	HEURE_CSV	COMPTEUR_CSV	PHASE_TSV	DATE_TSV	HEURE_TSV	COMPTEUR_TSV	PHASE_TOPCOAT	DATE_TOPCOAT	HEURE_TOPCOAT	COMPTEUR_TOP_COAT	PHASE_70	DATE_70	HEURE_70	COMPTEUR_70	PHASE_80	DATE_80	HEURE_80	COMPTEUR_80	PHASE_FIN	DATE_FIN	HEURE_FIN	COMPTEUR	COUNT(*)
     
    22	15	2600002	001	--	500101	000000		1	070706	1506	000000	0000	000000	0000	6	23	2	109	438	60	-1400	+000	103	510	000	000	000	9212380	95G		000000	000000	1	0	0	1.7	MIN	UNIF			SD	00	070706	1807	10	070710	0750	4		000000	0000	0		000000	0000	0		000000	0000	0	50	070720	1629	1	60	070727	1141	1		000000	0000	0		000000	0000	0	90	000000	0000	0	2
    22	15	2600002	001	10	070717	105322	281	1	070706	1506	000000	0000	000000	0000	6	23	2	109	438	60	-1400	+000	103	510	000	000	000	9212380	95G		000000	000000	1	0	0	1.7	MIN	UNIF			SD	00	070706	1807	10	070717	1053	0		000000	0000	0		000000	0000	0		000000	0000	0	50	000000	0000	0	60	000000	0000	0		000000	0000	0		000000	0000	0	90	000000	0000	0	2
    22	15	2600002	001	10	070718	112232	111	1	070706	1506	000000	0000	000000	0000	6	23	2	109	438	60	-1400	+000	103	510	000	000	000	9212380	95G		000000	000000	1	0	0	1.7	MIN	UNIF			SD	00	070706	1807	10	070718	1122	0		000000	0000	0		000000	0000	0		000000	0000	0	50	000000	0000	0	60	000000	0000	0		000000	0000	0		000000	0000	0	90	000000	0000	0	2
    22	15	2600002	001	10	070719	111843	311	1	070706	1506	000000	0000	000000	0000	6	23	2	109	438	60	-1400	+000	103	510	000	000	000	9212380	95G		000000	000000	1	0	0	1.7	MIN	UNIF			SD	00	070706	1807	10	070719	1118	0		000000	0000	0		000000	0000	0		000000	0000	0	50	000000	0000	0	60	000000	0000	0		000000	0000	0		000000	0000	0	90	000000	0000	0	2
    22	15	2600002	002	--	500101	000000		2	070706	1506	000000	0000	000000	0000	6	23	2	109	438	60	-1400	+100	103	510	000	000	000	9212380	95G		000000	000000	1	0	0	1.7	MIN	UNIF			SD	00	070706	1807	10	070710	0750	4		000000	0000	0		000000	0000	0		000000	0000	0	50	070720	1629	1	60	070727	1141	1		000000	0000	0		000000	0000	0	90	000000	0000	0	2
    22	15	2611579	001	--	500101	000000		1	070710	1028	000000	0000	000000	0000	1	21	2	118	100	65	-2400	+000	000	000	000	000	000	9418967	94H		070717	000000	1	0	1	1.8	MIN	UNIF			SD	00	070710	1055	10	070710	1503	2		000000	0000	0		000000	0000	0		000000	0000	0	50	070711	1558	2		000000	0000	0		000000	0000	0		000000	0000	0	90	000000	0000	0	2
    22	15	2611579	001	50	070717	192606	932	1	070710	1028	000000	0000	000000	0000	1	21	2	118	100	65	-2400	+000	000	000	000	000	000	9418967	94H		070717	000000	1	0	1	1.8	MIN	UNIF			SD	00	070710	1055	10	070717	1926	0		000000	0000	0		000000	0000	0		000000	0000	0	50	070717	1926	0		000000	0000	0		000000	0000	0		000000	0000	0	90	000000	0000	0	2
    22	15	2611579	001	50	070718	193225	932	1	070710	1028	000000	0000	000000	0000	1	21	2	118	100	65	-2400	+000	000	000	000	000	000	9418967	94H		070717	000000	1	0	1	1.8	MIN	UNIF			SD	00	070710	1055	10	070718	1932	0		000000	0000	0		000000	0000	0		000000	0000	0	50	070718	1932	0		000000	0000	0		000000	0000	0		000000	0000	0	90	000000	0000	0	2
    22	15	2611579	001	50	070719	122229	115	1	070710	1028	000000	0000	000000	0000	1	21	2	118	100	65	-2400	+000	000	000	000	000	000	9418967	94H		070717	000000	1	0	1	1.8	MIN	UNIF			SD	00	070710	1055	10	070719	1222	0		000000	0000	0		000000	0000	0		000000	0000	0	50	070719	1222	0		000000	0000	0		000000	0000	0		000000	0000	0	90	000000	0000	0	2
    22	15	2611579	001	50	070724	193406	932	1	070710	1028	000000	0000	000000	0000	1	21	2	118	100	65	-2400	+000	000	000	000	000	000	9418967	94H		070717	000000	1	0	1	1.8	MIN	UNIF			SD	00	070710	1055	10	070724	1934	0		000000	0000	0		000000	0000	0		000000	0000	0	50	070724	1934	0		000000	0000	0		000000	0000	0		000000	0000	0	90	000000	0000	0	2
    et j'ai eu 15000 doublons en une journée (j'insere a peu pres 60.000 données/jours).

    edit : tout ne passe pas pour l'exemple, bon le count(*) est à 2...donc 2 fois la meme ligne...

  14. #34
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Sur quelle table tu lances ce select ?

    Tu insères bien dans la table extfil_hist et non pas extfil_temp ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    insert into extfil_temp
    select * FROM extfil
    MINUS
    select * FROM extfil_hist
    Est-tu sur de ne pas déjà avoir de doublons avant de lancer cette insertion ?
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  15. #35
    Membre du Club
    Profil pro
    Développeur .NET
    Inscrit en
    Février 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2006
    Messages : 107
    Points : 56
    Points
    56
    Par défaut
    Oui c'est bien cette requête la que j'ai lancé, et oui je suis sure que je n'avais pas deja de doublons...
    Commence a me gaver, ca fait bien un mois que je me traine ce probleme...

    et ce select je l'ai lancé sur extfil_hist, puisqqu'apres le minus, j'insere le extfil_temp dans le extfil_hist...

  16. #36
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Je mets des * pour pas mettre les 81 colonnes
    Si tu lances ces 2 requetes, la dernière ne doit ramener aucune ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    insert into extfil_temp
    select * FROM extfil
    MINUS
    select * FROM extfil_hist
     
    select * from extfil_temp
    intersect
    select * FROM extfil_hist
    => doit générer l'exception NO_DATA_FOUND
    C'est impossible d'avoir des doublons avec ces expressions. Le problème vient d'ailleurs.

    Alors soit quelque chose d'autre insère / modifie dans extfil_hist
    Soit un trigger sur extfil_hist modifie une donnée.


    PS : tu purges bien extfil_temp avant d'insérer dedans ?
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  17. #37
    Membre du Club
    Profil pro
    Développeur .NET
    Inscrit en
    Février 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2006
    Messages : 107
    Points : 56
    Points
    56
    Par défaut
    je vais tester pour le no data found...

    Oui moi aussi je mettais les 81 colonnes, sinon je crois qu'il me fait un erreur...

    Et comme c'est moi qui ait créé la base, je peux affirmer qu'il n'y a aucun trigger et qu'il n'y a pas plus de manipulation sur extfil_hist que celle que j'ai indiquée.

  18. #38
    Membre du Club
    Profil pro
    Développeur .NET
    Inscrit en
    Février 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2006
    Messages : 107
    Points : 56
    Points
    56
    Par défaut
    bon j'ai tout vidé, tous mes historiques et toute mes tables, et j'ai refait la manip...

    j'ai fais la requete -> no rows selected
    ce qui est logique.

    Je vais voir demain comment ca se passe (encore), et je refais un rapport...

  19. #39
    Membre du Club
    Profil pro
    Développeur .NET
    Inscrit en
    Février 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2006
    Messages : 107
    Points : 56
    Points
    56
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select * from extfil_temp
    intersect
    select * FROM extfil_hist
    => 15525 rows selected 8O
    je m'en sors plus la...

  20. #40
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Tu peux me redire si c'est exactement ce que tu as fait ?

    hier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    truncate table extfil_temp
    truncate table extfil_hist
     
    insert into extfil_temp
    select * FROM extfil
    MINUS
    select * FROM extfil_hist
     
    select * from extfil_temp
    intersect
    select * FROM extfil_hist
    => 0
     
    insert into extfil_hist
    select * FROM extfil_temp
    Aujourd'hui
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    truncate table extfil_temp
     
    insert into extfil_temp
    select * FROM extfil
    MINUS
    select * FROM extfil_hist
     
    select * from extfil_temp
    intersect
    select * FROM extfil_hist
    => 15525
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

Discussions similaires

  1. copier une table d'une BDD dans une table d'une autre BDD
    Par faniette dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/05/2013, 10h17
  2. Réponses: 7
    Dernier message: 25/03/2011, 10h52
  3. [AC-2003] insert des données d'une table dans une table d'une base externe
    Par marieo dans le forum VBA Access
    Réponses: 1
    Dernier message: 30/11/2009, 14h29
  4. Comment créer une table dans une table ?
    Par Invité dans le forum Débuter
    Réponses: 8
    Dernier message: 15/06/2007, 14h55
  5. Mettre une valeur d'une table dans une variable
    Par Raphou96 dans le forum Access
    Réponses: 5
    Dernier message: 06/02/2006, 15h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo