Cela peut-il être fait en vrac aussi? Alors que toutes les colonnes de la table peuvent être configurées pour désactiver le drapeau 'NOT NULL'?Est-il possible de modifier ALTER une colonne pour désactiver 'NOT NULL'?
Répondre
Vous devez pouvoir utiliser une instruction ALTER TABLE xxx ALTER COLUMN pour redéfinir la colonne.
Si cela est une chose une fois que vous devez exécuter, vous pouvez utiliser une astuce en écrivant une requête qui interroge les noms de colonnes pour la table du système/table dba et génère vos déclarations alter. Vous copiez les résultats de la requête (vos 15 ou plusieurs instructions alter) dans votre script et exécutez-le. Je n'ai pas beaucoup d'expérience MSSQL, ni un environnement à tester en ce moment, mais quelque chose le long des lignes de:
SELECT
'ALTER TABLE ' + table_name + ' ALTER COLUMN ' + column_name + ' ' + data_type
FROM INFORMATION_SCHEMA.Columns
WHERE TABLE_NAME = 'xxx'
où vous aurez besoin de manipuler la partie data_type pour ajouter/supprimer le texte de contrainte NULL
Cool, est-il possible de faire cela en boucle pour parcourir chaque colonne de la table? Si oui, alors pouvez-vous expliquer/montrer le code? – Stephen
La requête ci-dessus va afficher plusieurs scripts ALTER TABLE, un pour chaque colonne.Exécuter chacun, l'un après l'autre, va modifier toutes les colonnes –
Oui, vous pouvez le faire. Lire des livres en ligne. Non, cela ne peut pas être fait en bloc, mais vous pouvez exécuter plusieurs instructions dans une seule requête.
Le problème est que la table a tellement de colonnes que cela prendrait pour toujours :( – Stephen
Eh bien, si la table a tellement de colonnes que vous ne pouvez pas le faire manuellement, alors vous devriez * vraiment * repenser votre table desing :-(. Vous pouvez écrire l'instruction ALTER, soit en T-SQL (devrait être possible), soit écrire un script qui génère les instructions ALTER – sleske
Obtenez une liste des colonnes et un modèle qui a le code SQL requis et utilisez un outil pour créer les instructions pour vous. Je l'ai déjà fait dans Excel, mais vous pouvez écrire un vrai programme en utilisant la langue de votre choix.
Pour le faire en vrac, une fois ...
Utilisez concepteur SSMS pour générer un script. Cela va reconstruire votre table (créer une table temporaire, copier des données, supprimer l'ancienne table, renommer la table temporaire).
Sinon, il est un à la fois en utilisant ALTER TABLE ...
Lorsque le nombre de tables est assez bas pour que je utilise SSMSE (SQL Server Management Studio Express), en entrant en mode de conception sur chaque table et vérification Autoriser Nulls dans les colonnes obligatoires.
Pour un plus grand nombre de tables, essayez la réponse fournie par ChrisCM.
- 1. Comment modifier une colonne MySQL pour autoriser NULL?
- 2. Alter Table Ajouter une colonne Syntaxe
- 3. colonne Alter type de données dans SQL
- 4. SQL Alter Table puis Modifier les valeurs
- 5. Modifier une longueur de colonne
- 6. Comment modifier une table PostgreSQL et rendre une colonne unique?
- 7. Est-il possible d'utiliser Linq pour ALTER une table de base de données?
- 8. comment désactiver le panneau alter causé par NSAlert automatique?
- 9. Comment modifier le type de données de colonne sans affecter la largeur de colonne existante
- 10. Possible de désactiver l'élément flash?
- 11. Comment modifier une colonne et une colonne calculée
- 12. WPF DataGrid Bouton Colonne Désactiver
- 13. Comment activer ou désactiver une colonne de zones de texte?
- 14. Utiliser hibernate hbm2ddl.auto = update: Comment modifier une colonne pour ne plus exiger de valeur?
- 15. requête Sql à alter table
- 16. est-il possible de modifier le texte dans une colonne listview?
- 17. Jquery, alter image
- 18. Comment alter table
- 19. quelles sont les étapes correctes pour modifier une colonne PK d'une table qui est une source de réplication de fusion dans SQL SVR 2005?
- 20. ALTER TABLE avec une valeur DEFAULT constante déterminée par programme
- 21. Comment utiliser C# pour ajouter une colonne pour une table de serveur sql?
- 22. Possible de surcharger l'opérateur null-coalescent?
- 23. Comment modifier des données spécifiques dans une colonne datatable?
- 24. Comment supprimez-vous une valeur par défaut d'une colonne dans une table?
- 25. Comment créer un champ décimal dans Access avec Alter Table?
- 26. SQL question de modifier la colonne
- 27. Est-il possible de modifier une table dans mySql via des procédures stockées?
- 28. DataGridView Modifier les noms de colonne
- 29. Modifier la collation sur la colonne de l'index cluster dans SQL 2005
- 30. Désactiver la colonne dans MSHFlexGrid dans VB6.0
pour une base de données MSSQL juste pour clarifier;) – Stephen
Quelle version de SQL Server? Fera une différence dans le script idéal pour passer par tous ... – AakashM
Je suis préoccupé par la raison pour laquelle quelqu'un voudrait le faire en masse. Je ne considérerais jamais un changement de cette ampleur sans examiner l'impact sur chaque partie de mon système, vous pouvez casser beaucoup de choses quand soudainement vous permettez des nullités là où elles n'étaient pas avant. Et il y a généralement une raison pour laquelle le champ n'autorise pas les valeurs nulles. – HLGEM