Pregunta

Estoy trabajando con SQL Server (soy un noob de SQL Server) y trato de alterar una tabla. Quiero CREATE TABLE LIKE para almacenar datos de manera segura mientras elimino las claves y las restricciones, y todo el resto de rigamorole que SQL Server parece requerir cuando se modifica en la tabla original, pero no he podido encontrar una coincidencia a ese comando ...

¿Fue útil?

Solución

Puedes hacerlo

SELECCIONA * EN #MyTable_tmp DE MyTable

Luego, modifique su MyTable y vuelva a copiar sus datos. Otros enfoques que he visto es crear una nueva tabla y llamarla Mytable_Tmp (no es una tabla temporal), que será su nueva tabla.

Luego, copie sus datos haciendo las migraciones que necesite. Luego dejará caer la tabla original y hará un cambio de nombre en Mytable.

O puede obtener una de las muchas herramientas excelentes que comparan bases de datos y generan scripts de diferencia o VSTS DB Edition (viene con el desarrollador) y puede hacer un script de diferencias desde un archivo de proyecto a una base de datos.

Editar

Cuando ejecuta SELECT * INTO #MyTable FROM MyTable, SQL Server crea una nueva tabla temporal llamada #MyTable que coincide con cada columna y tipo de datos de su cláusula de selección. En este caso, estamos seleccionando * para que coincida con MyTable. Esto solo crea las columnas que no copia valores predeterminados, índices de restricciones o cualquier otra cosa.

Otros consejos

¿Quieres recrear la misma estructura?

¿qué tal esto?

 SELECT *
 into test
 FROM myRealTable
 where 0=1

no se insertarán datos en la nueva tabla

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top