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

MS SQL Server Discussion :

[SQL SRV 2005] Création d'une table


Sujet :

MS SQL Server

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 284
    Points : 94
    Points
    94
    Par défaut [SQL SRV 2005] Création d'une table
    Bonjour,

    Je souhaiterai savoir s'il était possible de créer une table sur base d'une autre table se trouvant dans une autre DB (une sorte de copie de la table (uniquement la structure) se trouvant dans une DB vers une autre DB). Si oui comment réaliser cette opération.


    D'avance, je vous remercie.


    OLBI

  2. #2
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2007
    Messages : 141
    Points : 176
    Points
    176
    Par défaut
    Vous pouvez effectuer sur la table d'origine un clique droit et sélectionner "exporter" (via la manager de SQL SERVER).

    Avec cette option vous pouvez générer des scripts SQL permettants de:

    - Recréer la structure de la table d'origine dans n'importe quelle BD
    - Importer les données de la table d'origine
    - ...

    Il y a également toute une liste de query et franchement, peu importe lequel vous utilisez tant que cela vous donne le résultat attendu :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT * INTO NouvelleBD.owner.LaNouvelleTable 
    FROM AncienneBD.owner.AncienneTable 
    WHERE 1<>1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT TOP 1 *
    INTO NouvelleBD.owner.NouvelleTable
    FROM AncienneBD.owner.AncienneTable
     
    TRUNCATE TABLE NouvelleBD.owner.NouvelleTable
    Etc ...

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 284
    Points : 94
    Points
    94
    Par défaut
    Génial!!!!!

    Un grand merci pour les 2 requetes.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 284
    Points : 94
    Points
    94
    Par défaut
    Après verification, je m'apercois que les colonnes sont bien crées mais que mes clés, index et contraintes sont supprimées!!! Comment faire pour qu'elles soient également créer?

  5. #5
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2007
    Messages : 141
    Points : 176
    Points
    176
    Par défaut
    Le mieux, comme expliqué dans ma première réponse, est de générer un SCRIPT de création de table.

    Pour ce faire, clique droit sur la table d'origine et sélectionner (désoler c'est en anglais chez moi) 'Script table AS'.

    Et là vous avez la possibilité de créer un script dans un fichier text, ou dans l'analyseur de requêtes.

    Ce script pourra être utiliser dans votre BD de destination.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 284
    Points : 94
    Points
    94
    Par défaut
    Le problème est que j'essaye de faire une procédure stockée et je ne vois pas comment faire pour génerer le script et puis l'executer automatiquement. ( à la main bien)

    Cette procédure va ma permettre de mettre à jour mes db chez les clients.

    J'ai donc pour se faire une db avec mes tables vides appelé embryon. Si je dois modifier,créer une table alors je le fais dans l'embryon et ensuite j'execute la procédure stockée de mise à jour. Je n'ai plus à envoyer l'embryon à mes clients qui feront pareille.

    Dans l'ensemble la procédure fonctionne mis à part que mes tables perdent leurs primarykey, les contraintes....

  7. #7
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2007
    Messages : 141
    Points : 176
    Points
    176
    Par défaut
    C'est le "problème" de beaucoup de monde

    Pourquoi ne pas générer les scripts SQL et créer un batch qui ferait l'exécution de ces fichier .SQL ?

    (Batch utilisant l'outil 'SQLCMD')

    http://www.databasejournal.com/features/mssql/article.php/3566401

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 284
    Points : 94
    Points
    94
    Par défaut
    Ca me parait fort lourd de devoir générer à chaque fois les scripts de chaque table surtout quand il y en a beaucoup (plus de 200)

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 056
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 056
    Points : 1 216
    Points
    1 216
    Par défaut
    en te basant sur les tables système (sysindexes, syscolumns, sysconstraints, ...) tu peux arriver à regéner le code mais je n'ai pas de script sous la main ...
    Emmanuel T.

  10. #10
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    Hello,

    Tu as des scripts de ton serviteur ici : http://www.babaluga.com/doku.php/pro...on_python-ruby
    Rudi Bruchez
    Rudi Bruchez EIRL, solutions MS SQL Server et NoSQL
    LinkedIn - [Outil libre de diagnostic SQL Server : Sql Trismegiste]
    LIVRES : Optimiser SQL Server -
    Microsoft SQL Server 2012 Security Cookbook
    - les bases de données NoSQL

    e-learning : LinkedIn Learning - Pluralsight

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 284
    Points : 94
    Points
    94
    Par défaut
    C'est extrement gentil mais malheureusement je ne comprend pas grand choses.

    Je dois l'écrire ou le code (fichier yaml???).

    Désolé d'insiter.



    OLBI

Discussions similaires

  1. SQL Server 2005 / Création d'une base via un script
    Par matnys dans le forum Administration
    Réponses: 1
    Dernier message: 27/03/2009, 16h12
  2. [SQL SRV 2005] Comment annuler une transaction ?
    Par Ykaar dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/12/2007, 11h56
  3. création d'une table de fait sous sql server 2005
    Par kev0631 dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 19/07/2007, 14h45
  4. Réponses: 2
    Dernier message: 13/07/2006, 17h01
  5. Création d'une table par requête SQL
    Par mister3957 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 26/05/2006, 09h30

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