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

Unix Discussion :

Erreur lors de l'execution de mon fichier SQL


Sujet :

Unix

  1. #1
    Membre régulier Avatar de silverfab34
    Inscrit en
    Mars 2006
    Messages
    203
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mars 2006
    Messages : 203
    Points : 91
    Points
    91
    Par défaut Erreur lors de l'execution de mon fichier SQL
    Bonjour à tous,
    Je ne connais pas grand chose en UNIX, je découvre et je dois executer un fichier SQL.
    Après avoir transformer mon fichier au format UNIX en ligne de commande, j'essaye d'executer ce fichier SQL mais j'ai des erreurs qui me sont retournées :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    line 3: DECLARE: command not found
    line 4: syntax error near unexpected token `('
    line 4: `PURGEDUREE NUMBER(12);'
    Et voici le contenu de mon fichier :
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    set serveroutput on
     
    DECLARE
    PURGEDUREE NUMBER(12);
    PURGEDUREE:=30;
    NUM_ROW NUMBER(12);
    NUM_ROW:=0;
    NUM_ROW_TOTAL NUMBER(12);
    NUM_ROW_TOTAL:=0;
    NB_ROW_COMMIT NUMBER(12);
    NB_ROW_COMMIT:=500;
     
    --Curseur sur les commandes Non Injectée datant de plus de 30 jours 
    CURSOR cdePurge IS 
    SELECT ID
    FROM COMMANDE.TABLE_COMMANDE
    WHERE DATE_ENREGISTREMENT > (sysdate - PURGEDUREE) AND ETAT_INJECTION = 'NON_INJ';
     
    BEGIN
        dbms_output.PUT_LINE('Debut de la purge sur les commandes NON_INJ datant de plus de 30 jours');
     
        FOR CURRENT_ID in cdePurge LOOP
             -- Incrémentation du numéro de ligne courante
            NUM_ROW:=NUM_ROW+1;
             -- Incrémentation du numéro de ligne totale
            NUM_ROW_TOTAL:=NUM_ROW_TOTAL+1;
            -- effacement des references de la commande et etats
            delete from COMMANDE.TABLE_COMMANDE_DETAILS WHERE RID_COMMANDE=CURRENT_ID.ID;
            delete from COMMANDE.TABLE_COMMANDE_XML WHERE RID_COMMANDE=CURRENT_ID.ID;
     
            -- effacement de la commande
            delete from COMMANDE.TABLE_COMMANDE WHERE ID=CURRENT_ID.ID;
     
            -------------------
            -- commit partiel
            -------------------
            IF NUM_ROW>NB_ROW_COMMIT THEN
                NUM_ROW:=0;
                commit;
            END IF;
            ----------------------
            -- FIN commit partiel
            ----------------------
        END LOOP;
        dbms_output.PUT_LINE('Fin de la purge sur les commandes NON_INJ datant de plus de 30 jours, nb commandes purgées : ' || NUM_ROW_TOTAL);
        commit;
    END;
    /
    Si quelqu'un peut m'expliquer mes erreurs et me dire si il y en a d'autres, merci d'avance !

  2. #2
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IS Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Points : 19 452
    Points
    19 452
    Par défaut
    Bonjour.

    C'est plus un problème lié au SGBDR qu'à Unix, je pense, il serait utile de nous le préciser.

    Cordialement,
    Idriss

  3. #3
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 264
    Points
    12 264
    Par défaut
    quelles sont les commandes exactes que tu as tapé ?

  4. #4
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 882
    Points
    7 882
    Par défaut
    Citation Envoyé par silverfab34 Voir le message
    j'essaye d'executer ce fichier SQL mais j'ai des erreurs qui me sont retournées :
    C'est normal, tu essaie de faire exécuter des commandes SQL par le shell. Ce sont des langages et des syntaxes différents.
    ɹǝsn *sıɹɐlos*

  5. #5
    Membre habitué
    Homme Profil pro
    consultant ETL
    Inscrit en
    Septembre 2008
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : consultant ETL
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2008
    Messages : 97
    Points : 185
    Points
    185
    Par défaut
    la ligne de commande pour executer un script toto.sql est la suivante :


    sqlplus username/password@DataBaseName @ toto.sql


    alors que toi, tu as directement fait interprété ton script par le shell...

Discussions similaires

  1. erreur lors de la lecture d'un fichier Excel par un executable
    Par maracujadobrasil dans le forum MATLAB
    Réponses: 19
    Dernier message: 12/12/2013, 11h59
  2. Erreur lors de l'execution d'une requete SQL
    Par Mordehai dans le forum WinDev
    Réponses: 1
    Dernier message: 04/06/2012, 12h05
  3. erreur lors de la compilation de mon fichier flex
    Par lucastof dans le forum Générateurs de compilateur
    Réponses: 3
    Dernier message: 19/12/2011, 21h11
  4. [Free Pascal] Erreur lors de l'éxecution. (exitcode = 106)
    Par phoebos dans le forum Free Pascal
    Réponses: 2
    Dernier message: 03/03/2006, 22h24
  5. Erreur lors de l'execution d'un script jsp
    Par tuxor dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 06/08/2004, 12h35

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