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 :

Exclusion de lignes à la création d'une table externe


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2009
    Messages : 85
    Par défaut Exclusion de lignes à la création d'une table externe
    J'aimerais exclure les lignes où CODE est null de la définition de la table externe suivante:

    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
    CREATE
    TABLE "DBDEV"."REC_XLS_EMP"
    (
    "Emp_id" VARCHAR2(20 BYTE),
    "Last_name" VARCHAR2(50 BYTE),
    "First_name" VARCHAR2(20 BYTE),
    "Adr_1" VARCHAR2(300 BYTE),
    "Adr_2" VARCHAR2(300 BYTE),
    "CODE" VARCHAR2(30 BYTE)
    "CITY" VARCHAR2(30 BYTE)
     
    )
    ORGANIZATION EXTERNAL
    (
    TYPE ORACLE_LOADER DEFAULT DIRECTORY "LOADER" ACCESS PARAMETERS (
    RECORDS DELIMITED BY newline Skip 1 FIELDS TERMINATED BY 0X'09' 
    MISSING FIELD VALUES ARE NULL 
    REJECT ROWS
    WITH
    ALL NULL 
    FIELDS (Emp_id, Last_name, First_name, Adr_1, Adr_2, CODE, CITY) ) LOCATION ( 'Emp.tsv' )
    )
    REJECT LIMIT UNLIMITED;
    Comment puis-je faire ?

  2. #2
    Membre expérimenté
    Inscrit en
    Mars 2010
    Messages
    205
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 205
    Par défaut
    Tu peux utiliser l'option :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    LOAD WHEN CODE!=NULL

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2009
    Messages : 85
    Par défaut
    Oui , mais où doit-on insérer cette ligne ?

  4. #4
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Select *
      From DBDEV.REC_XLS_EMP
     Where code is Not null
    et éventuellement ajouter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    NULLIF (CODE = BLANKS)
    dans la définition de la table externe

  5. #5
    Membre expérimenté
    Inscrit en
    Mars 2010
    Messages
    205
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 205
    Par défaut
    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
    
    CREATE
    TABLE "DBDEV"."REC_XLS_EMP"
    (
    "Emp_id" VARCHAR2(20 BYTE),
    "Last_name" VARCHAR2(50 BYTE),
    "First_name" VARCHAR2(20 BYTE),
    "Adr_1" VARCHAR2(300 BYTE),
    "Adr_2" VARCHAR2(300 BYTE),
    "CODE" VARCHAR2(30 BYTE)
    "CITY" VARCHAR2(30 BYTE)
     
    )
    ORGANIZATION EXTERNAL
    (
    TYPE ORACLE_LOADER DEFAULT DIRECTORY "LOADER" ACCESS PARAMETERS (
    RECORDS DELIMITED BY newline Skip 1 FIELDS TERMINATED BY 0X'09' 
    LOAD WHEN CODE!=NULL
    MISSING FIELD VALUES ARE NULL 
    REJECT ROWS
    WITH
    ALL NULL 
    FIELDS (Emp_id, Last_name, First_name, Adr_1, Adr_2, CODE, CITY) ) LOCATION ( 'Emp.tsv' )
    )
    REJECT LIMIT UNLIMITED;

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2009
    Messages : 85
    Par défaut
    J'obtiens cette erreur avec le LOAD WHEN :

    ORA-29913: error in executing ODCIEXTTABLEOPEN callout
    ORA-29400: data cartridge error
    KUP-00554: error encountered while parsing access parameters
    KUP-01005: syntax error: found "load": expecting one of: "column, enclosed, exit, (, ltrim, lrtrim, ldrtrim, missing, notrim, optionally, rtrim, reject"
    KUP-01007: at line 1 column 65
    ORA-06512: at "SYS.ORACLE_LOADER", line 19

  7. #7
    Membre expérimenté
    Inscrit en
    Mars 2010
    Messages
    205
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 205
    Par défaut
    Au temps pour moi, ça devrait mieux fonctionner comme ça :

    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
    CREATE
    TABLE "DBDEV"."REC_XLS_EMP"
    (
    "Emp_id" VARCHAR2(20 BYTE),
    "Last_name" VARCHAR2(50 BYTE),
    "First_name" VARCHAR2(20 BYTE),
    "Adr_1" VARCHAR2(300 BYTE),
    "Adr_2" VARCHAR2(300 BYTE),
    "CODE" VARCHAR2(30 BYTE)
    "CITY" VARCHAR2(30 BYTE)
     
    )
    ORGANIZATION EXTERNAL
    (
    TYPE ORACLE_LOADER DEFAULT DIRECTORY "LOADER" ACCESS PARAMETERS (
    RECORDS DELIMITED BY newline
    LOAD WHEN CODE!=NULL
    Skip 1 FIELDS TERMINATED BY 0X'09' 
    MISSING FIELD VALUES ARE NULL 
    REJECT ROWS
    WITH
    ALL NULL 
    FIELDS (Emp_id, Last_name, First_name, Adr_1, Adr_2, CODE, CITY) ) LOCATION ( 'Emp.tsv' )
    )
    REJECT LIMIT UNLIMITED;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Création d'une table externe
    Par pbatty1 dans le forum SQL
    Réponses: 12
    Dernier message: 13/10/2011, 16h27
  2. Réponses: 2
    Dernier message: 13/07/2006, 17h01
  3. selectionner une ligne au hasard dans une table
    Par dark_vidor dans le forum Requêtes
    Réponses: 2
    Dernier message: 27/06/2005, 12h01
  4. Création d'une table avec foreign key
    Par lepierre dans le forum Langage SQL
    Réponses: 5
    Dernier message: 17/09/2004, 14h20
  5. INTERBASE Création d'une table
    Par Corben dans le forum InterBase
    Réponses: 2
    Dernier message: 19/06/2004, 20h55

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