Je travaille avec SQL Server (je suis un SQL Server noob) et en essayant de modifier une table.Je veux CREATE TABLE LIKE
de stocker en toute sécurité données alors que je laisse tomber les clés et les contraintes et tous les autres rigamorole que SQL Server semble exiger lors de la modification sur la table d'origine, mais je ne l'ai pas été en mesure de trouver une correspondance à cette commande ...Quel est l'équivalent de 'CREATE TABLE ... LIKE ...' dans SQL Server
Répondre
Vous pouvez faire
SELECT * INTO #MyTable_tmp FROM MyTable
Ensuite, modifiez votre MyTable et copiez vos données. approches que j'ai vu est de créer une nouvelle table appelez-le Mytable_Tmp (pas une table temporaire), qui sera votre nouvelle table.
Ensuite, copiez vos données pour effectuer les migrations dont vous avez besoin. Ensuite, vous allez supprimer la table d'origine et faire un changement de nom sur Mytable.
Ou vous pouvez obtenir l'un des nombreux outils excellents qui comparent les bases de données et génèrent des scripts de différence ou VSTS DB Edition (Livré avec développeur) et vous pouvez faire un script diff à partir d'un fichier projet vers une DB.
Modifier
Lorsque vous exécutez SELECT * INTO #MyTable DE MyTable, SQL Server crée une nouvelle table temporaire appelée #MyTable qui correspond à chaque colonne et le type de données de votre clause select. Dans ce cas, nous sélectionnons * pour qu'il corresponde à MyTable. Cela crée uniquement les colonnes, il ne copie pas les valeurs par défaut, les index de contraintes ou toute autre chose.
Ma question n'est pas comment mettre des données dans une table temporaire déjà existante. Je suis plus préoccupé par la création d'une table temporaire qui correspond à la table existante. J'ai des dizaines de tables que je dois modifier et je ne veux pas avoir à créer les tables temporaires à la main. – Ichorus
Ahh! Très bien! Je vous remercie! – Ichorus
Et les clés? indice? clés étrangères? –
vous voulez recréer la même structure?
que diriez-vous
SELECT *
into test
FROM myRealTable
where 0=1
aucune donnée ne sera inséré dans la nouvelle table
SELECT top 0 * dans le test FROM myRealTable, obtiendra également le même résultat –
- 1. Quel est le problème avec ma create table SQL?
- 2. SQL Create Table Error
- 3. Quelle est la syntaxe de l'instruction create table dans Excel?
- 4. Quel type d'informations d'audit est stocké par le serveur SQL lors de l'exécution d'une opération CREATE TABLE ou ALTER TABLE?
- 5. CREATE TABLE question de l'instruction T-SQL
- 6. Quel est l'équivalent SQL Server de INET_ATON
- 7. Ajout d'une option de verrouillage à l'instruction Create Table dans Sql Server 2005
- 8. Autorisations requises pour 'CREATE USER' dans SQL Server 2005?
- 9. SQL Server: table Pivot
- 10. Quel est l'équivalent de SQL Server APPLY dans Oracle?
- 11. Base de données SQL Server 2008 drop, create et fill
- 12. Création d'une table dans SQL Server Express
- 13. Quel est le but du répertoire Create utilisé par Tarantino?
- 14. Winform create table dans le contrôle RichTextBox
- 15. Où est passée Open Table dans SQL Server 2008?
- 16. SQL Server - Table dynamique PIVOT - Injection SQL
- 17. Sql Server équivalent à CREATE OR REPLACE Oracle estime
- 18. auto_increment provoquant des erreurs avec CREATE TABLE
- 19. générer une commande sql "create table" basée sur une table existante dans mysql
- 20. indexation d'une grande table dans SQL SERVER
- 21. Table Diff dans SQL Server 2000
- 22. Rechercher une table verrouillée dans SQL Server
- 23. Création d'une colonne de texte dans une table SQL Server: quel type dois-je choisir?
- 24. Exécution de SQL LIKE dans SQLObject
- 25. Quel est l'équivalent HQL de ce SQL?
- 26. create index using openquery
- 27. inverse de SQL LIKE '% de la valeur%'
- 28. CREATE TRIGGER prend plus de 30 minutes sur SQL Server 2005
- 29. Quel est l'équivalent HQL de ce SQL
- 30. Syntaxe de table SQL Server avec index
J'utilise Visual Studio SQL Server Explorer pour cette fin, il permet des mises à jour automatiques de la structure de base de données. – Ginden