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

Langage SQL Discussion :

Programmation de triggers


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Retraité
    Inscrit en
    Avril 2004
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2004
    Messages : 75
    Par défaut Programmation de triggers
    Sous firebird, j'ai deux tables "Clients" et "Ventes". elles sont liées par un champ "id_client". Je voudrai recupérer la valeur Client.id_client lors que je rentre une nouvelle vente. Je n'arrive pas à affecter à new.id_client la valeur courante de client.id_client.
    Si quelqu'un peut me donner un coup de main, ce serait sympa.

    Michel Suire

  2. #2
    Membre Expert
    Avatar de Samuel_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2012
    Messages
    377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2012
    Messages : 377
    Billets dans le blog
    1
    Par défaut
    Normalement si tu fait un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT maValeur
    INTO :NEW
    FROM MaTable
    Tu aurais pas oublié les ":" avant le NEW ?

  3. #3
    Membre confirmé
    Profil pro
    Retraité
    Inscrit en
    Avril 2004
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2004
    Messages : 75
    Par défaut
    Merci de ta réponse rapide.

    cependant si je fais : " select Client.id_client into ventes.id_client from Client; "
    J'obtiens alors le message : Parsing error!

  4. #4
    Membre Expert
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 157
    Par défaut
    la syntaxe est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT maValeur
    FROM MaTable
    INTO :NEW

  5. #5
    Membre confirmé
    Profil pro
    Retraité
    Inscrit en
    Avril 2004
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2004
    Messages : 75
    Par défaut
    Merci du conseil.

    La compilation passe avec ibexpert, mais le nouveau message d'erreur est le suivant:

    "multiple rows in singleton select.
    multiple rows in singleton select.
    At trigger 'VENTES_BI0' line: 8, col: 3."

  6. #6
    Membre Expert
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 157
    Par défaut
    Citation Envoyé par msuire Voir le message
    Merci du conseil.

    La compilation passe avec ibexpert, mais le nouveau message d'erreur est le suivant:

    "multiple rows in singleton select.
    multiple rows in singleton select.
    At trigger 'VENTES_BI0' line: 8, col: 3."
    je ne répondais qu'à la syntaxe; pas à la question originale et sans en vérifier la pertinence. Il est évident (sauf si la table ne contient qu'une ligne) que cette requête aurait renvoyer TOUTES les lignes de la table d'où multiple rows in singleton select.
    Je ne vois pas pourquoi passer par un trigger (si j'ai bien compris la question) !
    Affecte le Id_client de la table Client à la table Ventes puisque tu dois bien savoir quel client achète et ceux sans ambiguïté !

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

Discussions similaires

  1. appel programme externe (Trigger)
    Par Abidaa dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 06/09/2013, 04h24
  2. Programmer un trigger
    Par niceman16 dans le forum PL/SQL
    Réponses: 5
    Dernier message: 14/05/2008, 12h24
  3. Réponses: 11
    Dernier message: 30/10/2006, 16h59
  4. Trigger et programme externe
    Par hatoug dans le forum Oracle
    Réponses: 1
    Dernier message: 28/02/2006, 17h27
  5. sql server: execution d'un programme depuis un trigger
    Par constantin dans le forum Développement
    Réponses: 3
    Dernier message: 04/10/2005, 19h20

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