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 :

Procédure pour remplir table et sa table dérivée


Sujet :

Langage SQL

  1. #1
    C_C
    C_C est déconnecté
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 139
    Points : 92
    Points
    92
    Par défaut Procédure pour remplir table et sa table dérivée
    Salut,

    Je n'arrive pas à créer une procédure pour remplir deux tables dépendentes.
    Le truc c'est que pour remplir la deuxième table je dois aller cherché la clé primaire de la première table.
    J'ai pensé à quelquechose comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO table1(type)
    VALUES (president)
    Ce code va créer la clé primaire pour cette table. Donc ici je devrais prendre la clé primaire pour l'utiliser dans ce code.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO table2(id,nom,age)
    VALUES (clé_de_lautre_table,alex,25)
    Comment je peux faire ça? Ou est-ce qu'il y a une autre façon pour remplir une classe et sa classe-fille d'un coup?
    Merci pour votre aide.

  2. #2
    Nouveau membre du Club Avatar de Gigottine
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2002
    Messages : 27
    Points : 28
    Points
    28
    Par défaut
    Tout dépend du sgdb que tu utilise.

    Sous Sqlserver, Tu peux utitlisé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @id = select @@Identity
    qui récupère la denière clef primaire insérer

  3. #3
    C_C
    C_C est déconnecté
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 139
    Points : 92
    Points
    92
    Par défaut
    En effet j'utilise sql server 2000. Maintenant il me faut utiliser ça avec la bonne sintaxe pour ma procédure. Voici la structure de ma procédure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CREATE PROCEDURE proc(@param1, @param2, @param3)
    AS
    INSERT INTO table1(param1)
    VALUES(@param1)
     
    INSERT INTO table2(id,param2)
    VALUES (SELECT @@identity FROM table1, @param2);
    Deux questions:
    Est-ce que ce genre de procédure est possible?

    Pourquoi cette erreur:

    Error 156: incorrect sintax near the keyword 'SELECT'.
    Must declare the variable '@param2'

  4. #4
    Nouveau membre du Club Avatar de Gigottine
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2002
    Messages : 27
    Points : 28
    Points
    28
    Par défaut
    Je pense que tu dois faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT @id = @@identity FROM table1;
    et puis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    INSERT INTO table2(id,param2) 
    VALUES (@id, @param2);

  5. #5
    C_C
    C_C est déconnecté
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 139
    Points : 92
    Points
    92
    Par défaut
    Merci, ça marche parfaitement.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 16/09/2010, 23h04
  2. Réponses: 11
    Dernier message: 20/11/2008, 18h08
  3. Procédure pour remplir un dataset
    Par CUCARACHA dans le forum PL/SQL
    Réponses: 1
    Dernier message: 07/10/2008, 13h15
  4. Réponses: 8
    Dernier message: 29/06/2006, 15h37
  5. Probleme de requete pour remplir les champs d'une table
    Par Jim_Nastiq dans le forum Langage SQL
    Réponses: 7
    Dernier message: 06/04/2006, 14h56

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