Je me demande si vous y êtes un moyen de forcer Studio MSSQL Management Studio à produire un script comme celui-ci:
ALTER TABLE Mytable ADD MyCol bit NOT NULL CONSTRAINT MyColDefault DEFAULT 0 WITH VALUES ALTER TABLE [dbo].Mytable ALTER COLUMN MyCol2 int NULL GO
4 Réponses :
Vous ne pouvez pas changer le comportement, c'est juste que le script par défaut qu'il crée n'est pas toujours le plus efficace. Il crée des scripts dans un format informatique savoir forte> fonctionnera, bien que souvent les résultats soient lents et lourds. Je vous recommande de vous aider à créer le script pour tous les changements vous-même, car vous pouvez mieux l'optimiser. Il n'y a rien de mal à ce que vous avez créé (vous n'avez pas de contraintes / dépendances existantes sur Mycol2 qui serait invalidée par la nullable int) p>
Oui, vous pouvez! p>
Dans SQL Server Management Studio, entrez dans le mode de conception de la table pour la table en question et apportez vos modifications. Toutefois: do pas em> cliquez sur le bouton "Enregistrer", mais cliquez plutôt avec le bouton droit de la souris sur la vue de la conception de la table, il devrait y avoir un élément "Generate Change Script" à la fin de votre menu contexteur. p>
Cliquez sur cet élément de menu et vous aurez présenté une boîte de dialogue contextuelle contenant le script T-SQL nécessaire pour effectuer ces modifications apportées à la table dans le concepteur. Copier ou enregistrer ce code T-SQL et annuler hors du concepteur, et voici - vous avez votre script de changement! P>
Salut Marc, je suis désolé peut-être que je ne me suis pas fait clair. Je le sais, et c'est la façon dont je connais que SQLMS fait les choses de cette façon. J'aurais aimé savoir s'il y a un moyen de modifier son comportement par défaut. Ce que vous suggérez est utile d'utiliser le script plus tard, et c'est en fait ce que je veux faire. Dommage que le script généré ici est lourde et non efficace de ressources dans une situation habituelle, à mon humble avis. au revoir!
facile! juste aller à MAINTENANT, vous pouvez faire de tout changement sur la conception de vos tables! p> outil code> ->
option code>, puis le noeud code> noeud et sélectionnez
concepteur de table et de base de données code> afin que vous puissiez Décochez la case
Empêcher les modifications qui nécessitent ... Code> Case à cocher. P>
Cela vous donnera une erreur au lieu de sauver vos modifications - il ne fera que l'utilisateur de la concepteur Alter Table.
Juste pour augmenter @ la réponse de Marc_s. Si vous ne pouvez toujours pas générer le script de modification, car votre table doit être recréée, vous devez accéder à Outils -> Options CODE> et sous
Designers -> Designers de table et de base de données Code> Sanemark the Option
empêche d'enregistrer des modifications nécessitant une nouvelle création de table code>. p>
Vous avez toujours trouvé un moyen de faire ce Marco?