Comment les clés étrangères sont-elles résolues lors de la création de tables en lot?
-
31-10-2019 - |
Question
Je crée un outil de gestion de version de la base de données dans le but de pouvoir recréer une base de données à partir de zéro à l'aide de fichiers texte / SQL contenus dans le contrôle source. Dans le cadre de l'établissement d'une version de base de la base de données, j'ai exporté le CREATE TABLE
Instruction pour chaque table dans son propre fichier SQL.
J'ai l'intention de combiner le contenu de chaque fichier en un seul lot lors de l'initialisation de la base de données.
Cependant, chaque fichier contient des contraintes de clé étrangère dans le CREATE TABLE
déclaration.
Je me demande si le SDRM (dans ce cas MSSQL et Sybase) va pouvoir gérer le lot? Sera-t-il capable de créer les tables et de créer ensuite les contraintes?
Ou va-t-il échouer quand il apparaît sur le premier tableau où le tableau contenant la clé candidate n'a pas encore été créé?
J'ai lu sur l'exécution par lots dans MSSQL, et ma compréhension est que la base de données créera un plan d'exécution pour le lot. La base de données pourra-t-elle réorganiser mes instructions de table de création dans le bon ordre?
Ma base de données contient 366 tables et il serait difficile de commander le CREATE TABLE
instructions dans l'ordre correct.
Pas de solution correcte