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

Bases de données Delphi Discussion :

Erreur dans un SQL


Sujet :

Bases de données Delphi

  1. #1
    Membre confirmé
    Avatar de JP.NUAGE
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    769
    Détails du profil
    Informations personnelles :
    Âge : 81
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 769
    Points : 542
    Points
    542
    Par défaut Erreur dans un SQL
    Bonjour à tous

    Je dois manquer d'information. Voici ce que j'ai écrit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
                SQ1.Close;
                SQ1.SQL.Clear;
                SQ1.SQL.Add('UPDATE RDB$TRIGGERS T  SET "RDB$TRIGGER_INACTIVE" = 1 ');
                SQ1.SQL.Add('WHERE T.RDB$RELATION_NAME IN (''CAISSE'') ');
                SQ1.SQL.Add(' AND T.RDB$SYSTEM_FLAG = 0; ');
                SQ1.SQL.Add('UPDATE PAIEMEN SET MONTANT = :A,');
                SQ1.SQL.Add('REMISE = :B where ID = :C; ');
                SQ1.SQL.Add('UPDATE RDB$TRIGGERS T  SET "RDB$TRIGGER_INACTIVE" = 1 ');
                SQ1.SQL.Add('WHERE T.RDB$RELATION_NAME IN (''CAISSE'') ');
                SQ1.SQL.Add(' AND T.RDB$SYSTEM_FLAG = 0');
                SQ1.Params[0].AsFloat := Zone1l;
                SQ1.Params[1].AsFloat := Zone2l;
                SQ1.Params[2].AsInteger := xInteger;
                SQ1.ExecSQL(False);
    et j'ai un gentil message me disant que, à la ligne 4, caractère 1, UPDATE est inconnu (Token unknowned). Je sens d'ailleurs qu'il m'aurait dit la même chose pour le ligne 6 s'il y été arrivé !

    Est il interdit de lancer deux ordres dans un même SQL, ou alors ai-je oublié une phrase ?

    Une précision : je ne peux pas faire 3 SQL distincts : le résultat n'est pas bon

    Merci d'avance
    Ce qui se conçoit bien s'énonce clairement
    Et les mots pour le dire viennent aisément (Boileau)

  2. #2
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    Je ne sais pas quels composants tu utilises mais dans la majorité des cas les TxxxQuery n'autorisent qu'une instruction SQL à la fois, d'où ton erreur.

    Utiliser un TxxxScript si cela existe parmi tes composants, ou une alternative: exécuter une procédure stockée.

    @+ Claudius

  3. #3
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    Salut;

    et si tu faisais un petit aménagement du genre ne laisser que le dernier WHERE après avoir fait tes UPDATE ?
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  4. #4
    Membre confirmé
    Avatar de JP.NUAGE
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    769
    Détails du profil
    Informations personnelles :
    Âge : 81
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 769
    Points : 542
    Points
    542
    Par défaut
    Envoyé par Cl@udius :
    les TxxxQuery n'autorisent qu'une instruction SQL à la fois, d'où ton erreur.
    Je m'en doutais un peu, voir même pas mal ! Merci de me l'avoir confirmé

    Envoyé par Just Soft
    ne laisser que le dernier WHERE après avoir fait tes UPDATE
    J'avoue être perplexe : les UPDATE ne se rapportent pas tous à la même base !
    Ce qui se conçoit bien s'énonce clairement
    Et les mots pour le dire viennent aisément (Boileau)

  5. #5
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Re,

    En fait tu cherches à désactiver/activer les triggers d'une table afin de faire ta requête UPDATE.

    Tu peux élaborer une PS qui activera/désactivera tes triggers. Non ?

  6. #6
    Membre éprouvé Avatar de BuzzLeclaire
    Homme Profil pro
    Dev/For/Vte/Ass
    Inscrit en
    Août 2008
    Messages
    1 606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dev/For/Vte/Ass

    Informations forums :
    Inscription : Août 2008
    Messages : 1 606
    Points : 1 113
    Points
    1 113
    Par défaut
    salut,

    Je suis juste étonné de la syntaxe là

    "RDB$TRIGGER_INACTIVE"

    Ta pas de message d'erreur avec ça ?? étonnant !!!

    J'aurais plutot mis entre crochet
    [RDB$TRIGGER_INACTIVE]


    bye.

Discussions similaires

  1. Erreur dans le sql syntaxe
    Par jockhip12 dans le forum Développement Web en Java
    Réponses: 2
    Dernier message: 28/06/2012, 12h43
  2. erreur dans requete sql
    Par Invité dans le forum VBA Access
    Réponses: 5
    Dernier message: 17/03/2010, 19h54
  3. Erreur dans requête SQL
    Par Gaetch dans le forum Bases de données
    Réponses: 3
    Dernier message: 15/11/2008, 07h20
  4. Erreur dans conditions SQL*Loader
    Par mike_made dans le forum SQL
    Réponses: 5
    Dernier message: 05/05/2006, 16h19
  5. erreur dans requete Sql
    Par flOZ dans le forum Requêtes
    Réponses: 2
    Dernier message: 02/05/2006, 02h49

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