Pouvez-vous ajouter une colonne à une table l'insérant entre deux colonnes existantes dans SQL Server sans déposer et recréer la table? P>
7 Réponses :
La réponse simple est non. Y a-t-il une raison pour laquelle la commande de colonne est importante pour vous? P>
Pas vraiment, je traversais un tutoriel qui m'a demandé de le faire. Je n'ai pas dérangé parce que c'est fonctionnellement inutile, cela vient de piquer mon intérêt.
Oui. Vous pouvez le faire glisser et le déposer en mode de conception, ou copier et coller en mode de la table Edition P>
En réponse aux commentaires, oui, c'est avec SQL Server Management Studio via l'interface utilisateur et sous la hotte, il fait la goutte / recrée que vous essayez d'éviter, donc non, vous ne pouvez pas le faire sans le serveur le faire pour vous. P>
Cela fera une goutte / recrée à l'arrière-plan.
Je suppose que c'est ce que vous feriez si vous utilisiez SQL Management Studio. Êtes-vous sûr que SQL Server ne fasse pas une goutte et de recréer dans les coulisses. J'ai l'impression que cela copie les données à une table Temp, puis gouttes et recrée la table avant de copier les données. Je n'ai pas accès à SQL Server en ce moment ou je n'entraînerais pas le profileur SQL et j'essaie ce que vous avez suggéré.
Je cherchais vraiment un moyen de le faire dans la déclaration de table Alter, qui est ce que SQL Management Studio fait de toute façon.
première réponse, no. p>
Seconde réponse, selon ce fil http: //www.sqlteam. com / forums / topic.asp? topic_id = 58912 , trouvé via Puis-je réorganiser logiquement des colonnes dans une table? , vous pouvez créer la colonne puis réorganiser les colonnes de la table en modifiant les tables système. Mais il a l'air incroyablement désordonné et je ne ferais pas confiance que les choses ne se briseraient pas. P>
Vous ne pouvez pas modifier les tables système dans les versions après SQL Server 2000.
Regardez ce lien: P>
Comme vous pouvez le constater, la réponse est la suivante: p>
'impossible sans déplacer des données sur une table Temp' em> p>
Quel est ce que le studio STR) SQL Server Management Studio Strong> fait réellement. P>
Réponse moyenne, oui (ish) mais c'est moche et vous ne voudriez probablement pas le faire.
Veuillez noter que ce code crée une table physique p> CREATE TABLE MyTest (a int, b int, d int, e int)
INSERT INTO MyTest (a,b,d,e) VALUES(1,2,4,5)
SELECT * FROM MyTest
ALTER TABLE MyTest ADD c int
ALTER TABLE MyTest ADD d_new int
ALTER TABLE MyTest ADD e_new int
UPDATE MyTest SET d_new = d, e_new = e
ALTER TABLE MyTest DROP COLUMN d
ALTER TABLE MyTest DROP COLUMN e
EXEC SP_RENAME 'MyTest.d_new', 'd';
EXEC SP_RENAME 'MyTest.e_new', 'e';
SELECT * FROM MyTest
DROP TABLE MyTest
Oui, vous pouvez ajouter ici la requête de votre préoccupation:
Votre réponse est pour MySQL. Ils posent des questions sur SQL Server.
Eh bien, toujours reconnaissant pour cela, j'ai besoin de ça '
Voir aussi Stackoverflow. com / questions / 1610 / ... et Stackoverflow.com/Questtions/4402312/...
Prenez la conception de table et faites glisser la colonne en conséquence