Como probablemente haya entendido por las respuestas anteriores, no puede hacer lo que está buscando. Creo que puede comprender el problema que está experimentando SQL Server sin saber cómo asignar las columnas adicionales/faltantes.
Dicho esto, dado que usted menciona que el propósito de lo que intenta hacer aquí es una copia de seguridad, tal vez podamos trabajar con SQL Server y solucionar el problema. Sin saber su situación exacta hace que sea imposible golpeado con una respuesta correcta, pero asume lo siguiente:
- que desea administrar un proceso de copia de seguridad/auditoría para una mesa.
- Probablemente tenga algunas de ellas y desee evitar la modificación de objetos dependientes en cada adición/eliminación de columna.
- La tabla de respaldo puede contener columnas adicionales para auditar.
deseo sugerir dos opciones para usted:
El práctica eficiente (OMI) de esto se puede detectar cambios en el esquema usando disparadores DDL y utilizarlos para modificar la tabla de copia de seguridad en consecuencia. Esto le permitirá usar el enfoque 'select * from ...', porque la lista de columnas será consistente entre las dos tablas.
He utilizado este enfoque con éxito y puede aprovecharlo para que los desencadenadores DDL administren automáticamente sus tablas de auditoría. En mi caso, utilicé una convención de nomenclatura para una tabla que requería auditorías y el activador DDL simplemente lo administró sobre la marcha.
Otra opción que puede ser útil para su escenario específico es crear una vista de apoyo para las tablas que alinean la lista de columnas. Aquí está un ejemplo rápido:
create table foo (id int, name varchar(50))
create table foo_bk (id int, name varchar(50), tagid int)
go
create view vw_foo as select id,name from foo
go
create view vw_foo_bk as select id,name from foo_bk
go
insert into vw_foo
select * from vw_foo_bk
go
drop view vw_foo
drop view vw_foo_bk
drop table foo
drop table foo_bk
go
Espero que esto ayude :)
Esto sólo funciona en una tabla nueva. – JeffO
INTO no funciona si la tabla ya existe. – HLGEM
Y sí, puede seleccionar * en Sql Server 2000 – HLGEM