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 :

requête insert avec boucle ?


Sujet :

Langage SQL

  1. #1
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 242
    Points
    4 242
    Par défaut requête insert avec boucle ?
    Bonjour,

    Voici ma question :

    Je dispose d'une table comprenant une liste de marque disponible dans un magasin. Elle se compose de 2 colonnes, un id numérique et un nom de type texte.

    J'ai une autre table qui elle comprend les rayons du magains. Elle se compose d'un id numérique et d'un nom (structure donc similaire à la table précédente).

    A côté de ça, j'ai une autre table qui est chargée de faire un lien entre les deux dans le cadre du relations de plusieurs à plusieurs et qui se compose de 2 colonnes étant les id respectifs des 2 tables précédentes.

    Je voudrais faire en sorte de créer une requête qui fasse que pour chaque rayon qui n'aurait pas encore de marque qui lui soit associée, il crée un record avec l'id du rayon en question et comme id de marque, celui de la marque "Divers" qui comme vous l'aurez compris, est une marque passe-partout.

    Est-il donc possible de créer l'équivalent d'une boucle "for each" dans le langage sql ? J'ai bien noté la possibilité d'utilisé des conditions mais j'avoue que je m'y perds un peu dès que m'éloigne un peu trop du simple select.

    Merci d'avance.

    Griftou.

  2. #2
    Scorpi0
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    insert into table_de_lien
    select id_rayon, id_marque
    from Rayon ray, Marque mar
    where not exists (select * from table_de_lien where id_rayon = ray.id_rayon)
    and mar.nom = 'Divers'
    Insertion dans ta table de lien de tout les rayons qui n'ont pas encore d'entrée dans la table de lien avec une correspondance sur la marque Divers.
    Attention à être sûr qu'il n'existe qu'un seul identifiant correspondant au nom 'Divers', sinon tu vas avoir des doublons.

  3. #3
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 242
    Points
    4 242
    Par défaut
    Merci énormément !!!!!

    Griftou.

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

Discussions similaires

  1. [SQL] Insert avec boucle
    Par Virgile59 dans le forum Développement
    Réponses: 1
    Dernier message: 05/11/2008, 10h46
  2. Requête Insertion avec un TQuery
    Par delphino7 dans le forum Bases de données
    Réponses: 44
    Dernier message: 29/03/2008, 15h16
  3. Pb Requête INSERT avec QBE
    Par jubi73 dans le forum Paradox
    Réponses: 4
    Dernier message: 04/09/2007, 15h20
  4. Requête INSERT avec 2 requêtes sélection (2 tables)
    Par JiB@ dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 28/02/2007, 16h31
  5. Requête : Insert avec plusieurs tables
    Par bleu_ciel dans le forum Access
    Réponses: 4
    Dernier message: 01/06/2006, 21h42

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