Adicionando dados de uma tabela para outra,porém que tem um campo a mais[RESOLVIDO]

3 respostas
monike

Tenho duas tabelas uma original e uma de bkp.
Sendo que na de backup eu tenho um campo a mais de data.

Esse insert dá certo quando as duas tabelas sao identicas.Porém a tabela de backup tem um campo a mais.Tem como eu fazer esse script só que passando esse unico campo a mais commo parametro?

insert into SiesAutoImportacao.dbo.DetalheFatorObj_bkp select * from SiesAutoImportacao.dbo.DetalheFatorObj

Obrigada,

3 Respostas

E

Deixe de preguiça, liste todos os campos necessários. Além disso, se a tabela destino tiver mais campos que a tabela origem, é necessário ver se os campos que sobraram têm defaults nulos ou não-nulos - talvez você tenha de incluir algum valor específico nesse campo a mais.

monike

Exatamente é isso que estou fazendo,mas nao estou conseguindo ...

create   procedure  [dbo].[InsertFatorIdadeRC12_bkp]

@datatarifa

AS 

BEGIN TRAN 

INSERT INTO dbo.DetalheFatorObj_bkp  VALUES  (tpfatobj,
cdfatobj,
cdinfatx,
cdinfaty,
cdinfatz,
dtinivig,
nrfatora,
tpfatora,
tpaplfta,
nrfatorb,
tpfatorb,
tpaplftb,
cdestobj,
dtatuali,
ingenerico,
inbonus,
vlgenerico1,
vlgenerico2,
vlgenerico3,
vlgenerico4,
nrfatorc,
tpfatorc,
tpaplftc,
nrfatord,
tpaplftd,
nrfatore,
tpfatore,
tpaplfte,
nrfatorf,
tpfatorf,
tpaplftf,
nrfatorg,
tpfatorg,
tpaplftg,
nrfatorh,
tpfatorh,
tpaplfth,
vlgn5,
vlgn6,
vlgn7,
vlgn8,
vlgn10,
vlgn11,
vlgn12,
vlgn13,
vlgn14,
vlgn15,
vlgn16,
cdusuari,
@tarifa)

SELECT  tpfatobj,
cdfatobj,
cdinfatx,
cdinfaty,
cdinfatz,
dtinivig,
nrfatora,
tpfatora,
tpaplfta,
nrfatorb,
tpfatorb,
tpaplftb,
cdestobj,
dtatuali,
ingenerico,
inbonus,
vlgenerico1,
vlgenerico2,
vlgenerico3,
vlgenerico4,
nrfatorc,
tpfatorc,
tpaplftc,
nrfatord,
tpaplftd,
nrfatore,
tpfatore,
tpaplfte,
nrfatorf,
tpfatorf,
tpaplftf,
nrfatorg,
tpfatorg,
tpaplftg,
nrfatorh,
tpfatorh,
tpaplfth,
vlgn5,
vlgn6,
vlgn7,
vlgn8,
vlgn10,
vlgn11,
vlgn12,
vlgn13,
vlgn14,
vlgn15,
vlgn16,
cdusuari  FROM  SiesAutoImportacao.dbo.DetalheFatorObj
monike

Resolvido é só passar no select.

INSERT INTO teste_bkp (codseq, nome, dtatualibkp) SELECT codseq, nome,('2011-01-01') FROM teste1;

Criado 10 de dezembro de 2010
Ultima resposta 13 de dez. de 2010
Respostas 3
Participantes 2