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 :

SQL DYNAMIQUE Automatisation


Sujet :

Langage SQL

  1. #1
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Janvier 2007
    Messages : 44
    Par défaut SQL DYNAMIQUE Automatisation
    Dans le cadre de mon projet de fin d'étude,
    je suis amenée à créer une table dont le
    nombre de colonne peut varier. ce nombre de colonne est récupéré à aprtir
    d'un fichier .txt

    Donc dans un premier temps j'ai pensé à utiliser du SQL dynamique : c'est
    à dire Ecrire requete ALTER TABLE dans une variable et faire aprés un
    EXEC(@mavariable)

    Mais la contrainte consiste sur le fait que une fois la table créé
    la structure de celle ci ne doit pas être
    modifiée.

    Quelqu'un peut m 'orienter dans mes recherches

    Merci beaucoup

  2. #2
    Membre expérimenté
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2007
    Messages
    193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2007
    Messages : 193
    Par défaut
    sur quelle base de donnée travailles tu?

    En sql server, j'irai chercher la descriptions des colonnes dans la table

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select * from sys.columns as c inner join sys.tables as t on c.object_id = t.object_id
    where t.name = 'matable'
    ce qui me permettrait de boucler sur le résultat obtenu (boucle while (trigger c mal)) afin de construire ma chaine de select/insert/upate/ delete (pour le where)

    et ensuite faire un exec (sp_executesql en sql server) sur ma requète que j'ai créé juste avant dans ma boucle while. avec éventuellement des paramètres d'entrée et de sortir dans mon exec.


    Je me sers de cette méthode pour des comparaisons un peu particulières entre 2 tables de même structure mais dont je ne connais pas la taille pour comparer champs a champs

  3. #3
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Janvier 2007
    Messages : 44
    Par défaut
    Citation Envoyé par oadin Voir le message
    sur quelle base de donnée travailles tu?

    En sql server, j'irai chercher la descriptions des colonnes dans la table

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select * from sys.columns as c inner join sys.tables as t on c.object_id = t.object_id
    where t.name = 'matable'
    ce qui me permettrait de boucler sur le résultat obtenu (boucle while (trigger c mal)) afin de construire ma chaine de select/insert/upate/ delete (pour le where)

    et ensuite faire un exec (sp_executesql en sql server) sur ma requète que j'ai créé juste avant dans ma boucle while. avec éventuellement des paramètres d'entrée et de sortir dans mon exec.


    Je me sers de cette méthode pour des comparaisons un peu particulières entre 2 tables de même structure mais dont je ne connais pas la taille pour comparer champs a champs
    Bonjour

    merci pour votre réponse

    je travaille avec BD SQL

  4. #4
    say
    say est déconnecté
    Membre Expert
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Par défaut
    Citation Envoyé par Bella la vita Voir le message
    je travaille avec BD SQL

    c'est un SGBD ça???

    Citation Envoyé par Bella la vita Voir le message
    Mais la contrainte consiste sur le fait que une fois la table créé
    la structure de celle ci ne doit pas être
    modifiée.

    Quelqu'un peut m 'orienter dans mes recherches

    Merci beaucoup
    stricto sensus, je vois pas où est le problème...si tu ne dois pas modifier la structure a postériori...il suffit de tester si la table existe

    j'imagine que tu veux dire que tu ne peux faire de drop sur la table...mais simplement ajouter les champs manquants.

    dans ce cas, cela peut en effet dépendre de ton serveur

  5. #5
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Janvier 2007
    Messages : 44
    Par défaut
    EN FAIT : le fichier txt contenant les champs (nb col) et instances doit etre parser chaque jour : c'est a dire que chaque jour
    j ai une mise a jour de matable (de nouvelles colonnes + instances)

    donc je dois trouver une méthode pour modéliser cette table de maniere à ne pas modifier
    la structure de celle ci lors des mises a jour.

    donc la seule idée que j'ai est de créer une table(clé,val) ou clé
    represente le champs (colonne qu on souhaite ajouter dans la table) et val la valeure du champs
    Mais cette solution est trés couteuse

  6. #6
    say
    say est déconnecté
    Membre Expert
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Par défaut
    re,

    donc tu veux pouvoir avoir des champs supplémentaires sans modifier la structure...
    ça devrait s'orienter vers un métamodèle...
    y'a un tuto là dessus sur dvp

    EDIT : par

  7. #7
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Janvier 2007
    Messages : 44
    Par défaut
    Citation Envoyé par say Voir le message
    re,

    donc tu veux pouvoir avoir des champs supplémentaires sans modifier la structure...
    ça devrait s'orienter vers un métamodèle...
    y'a un tuto là dessus sur dvp

    EDIT : par

    OK MERCI BEAUCOUP

Discussions similaires

  1. Prob SQL dynamique
    Par anthony8 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 30/09/2004, 10h53
  2. Appel de function en SQL Dynamique
    Par dkd dans le forum Oracle
    Réponses: 22
    Dernier message: 28/09/2004, 19h01
  3. SQL dynamique : pb de syntaxe
    Par Pasiphae dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 23/08/2004, 17h50
  4. SQL dynamique
    Par Etienne1 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 16/08/2004, 11h18
  5. SQL Dynamique - Materialized view
    Par Simeans2004 dans le forum SQL
    Réponses: 15
    Dernier message: 10/06/2004, 18h56

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