Mostrando entradas con la etiqueta SQL Server. Mostrar todas las entradas
Mostrando entradas con la etiqueta SQL Server. Mostrar todas las entradas

jueves, 11 de julio de 2013

SQL Server – Copiar Tablas de una DB a Otra

Para copiar una tabla completa de una base de datos a otras, debemos hacer un proceso bastante simple, el cual puede ser simplemente de 1 o 2 pasos dependiendo de lo que necesitemos.

En primera instancia, copiamos las tablas (todas  o seleccionamos cuales) de una DB a otra.

SELECT * 
INTO [historica].[dbo].[mi_tabla_nueva]
FROM [actual].[dbo].[tabla_antigua]


Como pueden ver, estamos copiando todas las tablas, desde la DB “actual” y tabla “tabla_antigua” a la DB “histórica”, tabla “mi_tabla_nueva”.

Este proceso lo debemos hacer SOLO si la tabla no existe, producto que de esta forma copiamos la tabla completa, su estructura y datos, si queremos copiar sólo los datos debemos hacer lo siguiente:


INSERT INTO [historica].[dbo].[mi_tabla_nueva]
SELECT *
FROM [actual].[dbo].[table_antigua]  

martes, 9 de abril de 2013

SQL Server - Resolver "Cannot resolve the collation conflict"


En una consulta que tuve que hacer en una base de datos SQL Server, tuve un pequeño conflicto, al hacer un join, primero me aparecio el problema que eran tipos de datos diferente, al solucionarlo, me aparecio el problema
“Cannot resolve the collation conflict between "Modern_Spanish_CI_AS" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation.”
Para resolver esto, simplemente debemos añadir COLLATE [insert required collation name], por ejemplo, yo tenía
CONVERT(tabla1.campo1 AS VARCHAR(64)) = tabla2.campo2
Por lo que lo deje así:
CAST(tabla1.campo1 AS VARCHAR(64)) = tabla2.campo2 COLLATE Modern_Spanish_CI_AS
y simplemente con esto, se logró solucionar el problema