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 Server Management] Ordre des données dans la génération d'un script


Sujet :

MS SQL Server

  1. #1
    Membre actif

    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2003
    Messages
    286
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 286
    Points : 255
    Points
    255
    Par défaut [SQL Server Management] Ordre des données dans la génération d'un script
    Bonjour

    J'ai un soucis
    Quand je crée un script pour exporter ma base (sans les données ..) via l'assistant, celui-ci me crée bien mon fichier SQL.
    Le problème c'est que des fois (après modifs de la base) le script SQL généré ne foncionne pas ! Tout simplement parce qu'il semblerait que l'ordre de création des procédures stockées, des tables, des vues dans le fichier SQL soit différente !
    Actuellement, dans mon fichier, il essaye de créer la vue avant la table et forcément il aime pas SQL Server après ...

    Je me demandé donc comment fonctionne cette génération de script et si ce ne serait pas possible de tout "scripter" proprement ...

    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 224
    Points : 19 566
    Points
    19 566
    Billets dans le blog
    25
    Par défaut
    Rejouez vos scripts autant de fois que les msg d'erreur apparaissent... si, si...

    Sinon, à vous de lui donner l'ordre (Tables -> Vues -> Trigger -> SP (dans l'ordre d'utilisation au cas ou des SP exécutent des SP))

  3. #3
    Membre actif

    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2003
    Messages
    286
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 286
    Points : 255
    Points
    255
    Par défaut
    Citation Envoyé par fadace
    Rejouez vos scripts autant de fois que les msg d'erreur apparaissent... si, si...
    euh ..... C'est à dire qu'il faut que je génère le script SQL autant de fois qu'il le faut jusqu'a ce que le script fonctionne ????

    Citation Envoyé par fadace
    Sinon, à vous de lui donner l'ordre (Tables -> Vues -> Trigger -> SP (dans l'ordre d'utilisation au cas ou des SP exécutent des SP))
    Euh ... Je viens de regarder (rapidement), les déclencheurs semblent être un peu comme des procédures stockées, je ne suis pas sûr que ca réponde au problème .... Pourrais-je avoir un peu + de précision ?

    Merci

  4. #4
    Membre actif

    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2003
    Messages
    286
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 286
    Points : 255
    Points
    255
    Par défaut
    bon.
    Y'a apparemment un bug dans sql server management studio express ...

    J'ai une BDD composée de plusieurs tables, procédure stockées, et j'ai 2 vues.
    Lorsque je génère un script pour uniquement les vues, il se pose le problème suivant :

    2 vues : vue1 et vue2
    vue1 utilise les tables : table1 et table2
    vue2 utilise la table : table3

    * script généré :
    Si table1 n'existe pas -> création table1
    Si table2 n'existe pas -> création table2
    Création vue1
    Création vue2
    On voit bien que la table3 n'est jamais créée, qu'elle existe ou non ...

    Alors soit j'ai loupé un truc dans la logique Microsoft, sot ca ressemble a un bug ...

    Si des gens plus informés peuvent m'en dire +, ca m'aiderait

    PS : dans mon gros script que j'ai fais au début (toute la BDD), j'ai déplacé la création de la table (a la main) afin de la mettre avant la création de la vue ... et ca fonctionne ^^

    EDIT : Quand j'affiche les dépendances pour la vue ou j'ai des problèmes, il n'en trouve aucune !!

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 849
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 849
    Points : 52 982
    Points
    52 982
    Billets dans le blog
    6
    Par défaut
    Alors là Fadace, je suis pas d'accord.

    Il suffit de jouer le script dans un create schéma et l'ordre n'a plus aucune importance.

    Exemple :
    Code : 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
    CREATE DATABASE X_TEST
    GO
     
    USE X_TEST
    GO
     
    CREATE SCHEMA AUTHORIZATION dbo
     
    CREATE VIEW V1
    AS
       SELECT *
       FROM   T1
       WHERE  C1 IS NOT NULL
     
    CREATE TABLE T1
    (C1 INT)
    A +

  6. #6
    Membre actif

    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2003
    Messages
    286
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 286
    Points : 255
    Points
    255
    Par défaut
    Up !

    Dans mon dernier post, je dis :
    Quand j'affiche les dépendances pour la vue ou j'ai des problèmes, il n'en trouve aucune !!
    Il ne trouve donc pas la table et je ne comprends pas pourquoi
    Personne n'a d'idée la dessus ?

    CREATE SCHEMA AUTHORIZATION dbo
    En dernier recours, cela me permettrait-il de résoudre mon problème ?

  7. #7
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 224
    Points : 19 566
    Points
    19 566
    Billets dans le blog
    25
    Par défaut
    Citation Envoyé par SQLpro
    Alors là Fadace, je suis pas d'accord.

    Il suffit de jouer le script dans un create schéma et l'ordre n'a plus aucune importance.
    Oups ! Je l'avais oublié, celui-là !

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/07/2011, 16h49
  2. Réponses: 17
    Dernier message: 22/09/2006, 17h34
  3. [SQL Server 2005] Valeur des données vides
    Par davasm dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 22/06/2006, 09h38
  4. [SQL server] Comment Fusionner des données dans une requête
    Par MoTUmBo dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 27/07/2005, 15h24

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