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

SQLite Discussion :

Trigger récupérant la requête subie par la ligne


Sujet :

SQLite

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 10
    Par défaut Trigger récupérant la requête subie par la ligne
    Bonjour,

    Je veux créer un trigger qui permet d'écrire la requête qu'a subie la table dans une autre table dans la base sqlite. Voilà le code que j’ai essayé:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CREATE TRIGGER trig_insert_contact_req AFTER  INSERT ON contact
     
    BEGIN  INSERT INTO synctable (s_tab,s_req,s_id)	VALUES ('contact','INSERT INTO contact  VALUES (new.contactnom, new.contactage, new.contactmobile, new.contactmail, new.contactadresse);',new._idcontact) ;
    END;
    C’est clair qu’avec ce code les champs « new.contactnom, new.contactage, new.contactmobile, new.contactmail, new.contactadresse » seront pris comme des chaînes de caractères. J’ai essayé toutes les combinaisons pour faire de sorte qu’ils soient considérés comme des variables (
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    ‘ + new.contactnom +’
    ,
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    " +" new.contactnom "+"
    ,…) mais je n’ai pas réussi !

    Quelqu’un peut-il m’aider ? Y’a-t-il pas une autre manière pour le faire ?

    Merci d’avance.

  2. #2
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 10
    Par défaut
    Le problème est résolu. Il faut utiliser "||" au lieu de "+" pour la concaténation de chaînes avec sqlite. D'où le code correcte est le suivant:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CREATE TRIGGER trig_insert_contact_req AFTER  INSERT ON contact
     
    BEGIN  INSERT INTO synctable (s_tab,s_req,s_id)	VALUES ('contact','INSERT INTO contact  VALUES (' ||new.contactnom||', '||new.contactage||', '|| new.contactmobile ||', ' || new.contactmail ||', '||new.contactadresse||');',new._idcontact) ;
    END;

    à+

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

Discussions similaires

  1. Requête complexe avec plusieurs lignes par table
    Par Iwazaru dans le forum Requêtes
    Réponses: 5
    Dernier message: 01/09/2009, 10h46
  2. Lancer des requêtes DB2 par ligne de commande Unix
    Par rstephane dans le forum DB2
    Réponses: 3
    Dernier message: 27/05/2009, 16h36
  3. Réponses: 7
    Dernier message: 04/10/2005, 18h34
  4. Réponses: 44
    Dernier message: 14/03/2005, 10h43
  5. [DB2]Requête regroupement par intervals
    Par sm dans le forum DB2
    Réponses: 8
    Dernier message: 01/09/2004, 18h19

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