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 :

Faire du nom de la table un paramètre dans une requête


Sujet :

Bases de données Delphi

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 76
    Points : 67
    Points
    67
    Par défaut Faire du nom de la table un paramètre dans une requête
    Bonjour à tous,

    j'aimerai utilisée le nom de la table variable dans mon query, truc dans ce genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     insert into :a values(:b,:c)
    je précise une chose, la base de donnée que j'utilise est SL SERVER 2000 service pack2

    Mais ça ne marche pas, est ce que il y a une astuce pour ça.

    Je connais la méthode standard, truc

    Mais il se trouve que l'application que j'ai faite au début été destinée pour toucher un nombre de table définie, mais une demande d'évolution à été établit dans le sens ou il y aura une multitude de table. Et je n’ai pas envie de trop modifier mon code source initial

    Merci par avance

  2. #2
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 73

    Informations forums :
    Inscription : Octobre 2006
    Messages : 124
    Points : 126
    Points
    126
    Par défaut
    Bonjour,
    La solution que j'utilise est un execute. Le plus simple est de vous donner un exemple

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    set @table=:tbl;
    set @nom = :nom;
    set @reference = :reference;
    set @utilisateur= :Utilisateur;
    set @query=
    concat('insert into articles', @table,' (');
    set @query1 = '`CodeInterne`,`Nom`,`Reference`,`DateCreation`,`UtilisateurCreation`,`DateModif`,`UtilisateurModification`';
    set @query2=')values(';
     
    set @query3=
    concat('NULL,"'
    ,@Nom,
    '","',
    @Reference,
    '","',
    Now(),
    '","',
    @Utilisateur,
    '",NULL,NULL)');
    set @req=concat(@query,@query1,@query2,@query3);
    prepare ex from @req;
    execute ex;
    DEALLOCATE PREPARE Ex;


    j'espère que mon explication suffira
    Cordialement

    MS

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 76
    Points : 67
    Points
    67
    Par défaut
    Excellent.

    Merci beaucoup.

Discussions similaires

  1. Réponses: 1
    Dernier message: 21/06/2015, 18h59
  2. [8.4] Noms des tables entre guillemets dans une requête
    Par KibitO dans le forum Requêtes
    Réponses: 24
    Dernier message: 14/11/2014, 15h04
  3. [phpMyAdmin] Passer le nom d'une table en variable dans une requête avec phpMyAdmin
    Par EnRadeSurEclipse dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 29/09/2014, 11h49
  4. Réponses: 7
    Dernier message: 18/05/2005, 15h09
  5. Passage de paramètres dans une requête imbriquée
    Par DrakkoFR dans le forum Langage SQL
    Réponses: 2
    Dernier message: 07/02/2005, 12h46

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