Sto lavorando con SQL Server (sono un noob di SQL Server) e sto provando ad alterare una tabella. Voglio CREATE TABLE LIKE
per archiviare in modo sicuro dati mentre io cadere le chiavi e vincoli e tutte le altre rigamorole che SQL Server sembra richiedere quando si modifica sul tavolo originale, ma non sono stato in grado di trovare una corrispondenza di quel comando ...Qual è l'equivalente di "CREATE TABLE ... LIKE ..." in SQL Server
risposta
Si può fare
SELEZIONA * IN #MyTable_tmp DA MyTable
Quindi modificare il MyTable e copiare nuovamente i dati. Altro gli approcci che ho visto è quello di creare una nuova tabella chiamandola Mytable_Tmp (non una tabella temporanea), che sarà la tua nuova tabella.
Quindi copiare i dati eseguendo tutte le migrazioni necessarie. Quindi si rilascia la tabella originale e si rinomina su Mytable.
Oppure è possibile ottenere uno dei numerosi strumenti eccellenti che confrontano i database e generano script di differenze o VSTS DB Edition (fornito con sviluppatore) e che è possibile eseguire uno script diff da un file di progetto in un DB.
Modifica
Quando si esegue SELECT * INTO #MyTable FROM MyTable, SQL Server crea una nuova tabella temporanea denominata #MyTable che soddisfa ogni colonna e il tipo di dati dal vostro selezionare clausola. In questo caso stiamo selezionando * in modo che corrisponda a MyTable. Questo crea solo le colonne che non copia i valori di default, gli indici dei vincoli o quant'altro.
La mia domanda non è come inserire i dati in una tabella temporanea già esistente. Sono più preoccupato per la creazione di una tabella temporanea che corrisponda alla tabella esistente. Ho dozzine di tabelle che devo modificare e non voglio creare manualmente i tavoli temporanei. – Ichorus
Ahh! Molto bene! Grazie! – Ichorus
E le chiavi? indice? chiavi esterne? –
si desidera ricreare la stessa struttura?
come su questo
SELECT *
into test
FROM myRealTable
where 0=1
sono dati saranno inseriti nella nuova tabella
SELECT top 0 * nella prova FROM myRealTable, otterrà anche lo stesso risultato –
- 1. CREATE TABLE LIKE A1 come A2
- 2. `show create table` equivalent in oracle sql
- 3. CREATE TABLE domanda dichiarazione in T-SQL
- 4. Qual è l'equivalente per LOCK_ESCALATION = TABLE in SQL Server 2005?
- 5. SQL Server create date
- 6. SQL Server: è possibile aggiungere descrizioni dei campi in CREATE TABLE?
- 7. show create table tablename (come faccio a farlo in sql server)?
- 8. CREATE TABLE con Dynamic Column
- 9. SQL Server table to json
- 10. È possibile ripristinare le istruzioni CREATE TABLE e ALTER TABLE nei principali database SQL?
- 11. Drop table in SQL Server by Sql Server Management Studio
- 12. definizione PRIMARY KEY in MySQL CREATE TABLE
- 13. Combinazione di "LIKE" e "IN" per SQL Server
- 14. Genera istruzioni CREATE INDEX in SQL Server
- 15. Qual è l'utilizzo di '@@' in SQL Server
- 16. Qual è la differenza tra "LIKE" e "=" in SQL?
- 17. Qual è l'equivalente R dell'istruzione LIKE 'description%' di SQL?
- 18. phpMyAdmin e SHOW CREATE TABLE
- 19. Errore di sintassi quando si esegue un MySQL CREATE TABLE
- 20. SQL Server: utilizzare CASE con LIKE
- 21. Utilizzare un'istruzione LIKE su SQL Server. Tipo di dati XML
- 22. Tabella non esiste dopo CREATE TABLE
- 23. Eliminazione di Table Spool in SQL Server Piano di esecuzione
- 24. Come posso usare SHOW CREATE TABLE in una sottoquery?
- 25. SQL Server: Drop Table con FK
- 26. È possibile utilizzare "NOT LIKE" in sql
- 27. Calling funzioni definite dall'utente con CREATE TABLE
- 28. TSQL: NOCHECK Chiave esterna interna CREATE TABLE
- 29. Utilizzo di [like] come nella clausola in SQL?
- 30. Cosa significa comando LIKE '[atoz: a]%' in SQL Server?
io uso Visual Studio SQL Server Explorer per questo scopo, permette aggiornamenti automatici della struttura del database. – Ginden