Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rafa-martin

qual o erro nesse insert?

Recommended Posts

pessoal estou fazendo um insert select. estou querendo inserir dados do sql nua tabela no oracle. e a estrutura das duas tabelas são iguais.

 

bom estou fazendo esse insert:

 

INSERT INTO web9...b2009001_vcr (  
		/*1*/COD_CIA,  
		/*2*/COD_SECTOR,  
		/*3*/COD_RAMO,  
		/*4*/NUM_CERTIFICADO,  
		/*5*/COD_SISTEMA_VCR,  
		/*6*/NUM_POLIZA,  
		/*7*/NUM_SPTO,  
		/*8*/NUM_APLI,  
		/*9*/NUM_SPTO_APLI,  
		/*10*/MCA_CARGA,  
		/*11*/MCA_CARGA_ASEG_VCR,  
		/*12*/MCA_PROCESSADO_VCR,  
		/*13*/NUM_SEQ_REMESSA_VCR,  
		/*14*/IMP_SPTO,  
		/*15*/MCA_RIESGOS,  
		/*16*/NUM_RIESGO,  
		/*17*/NUM_RIESGOS,  
		/*18*/FEC_ALTA,  
		/*19*/FEC_EQUIPO_VCR,  
		/*20*/COD_MODALIDAD  
)  
		SELECT 'Select ' +  
			/*01*/convert(varchar(5),isnull(COD_CIA, 'Null'))+','+  
			/*02*/convert(varchar(5),isnull(COD_SECTOR, 'Null'))+','+  
			/*03*/convert(varchar(5),isnull(COD_RAMO,'Null'))+','+  
			/*04*/''''+NUM_CERTIFICADO+''''+','+  
			/*05*/convert(varchar(5),isnull(COD_SISTEMA_VCR, 'Null'))+','+  
			/*06*/''''+NUM_POLIZA+''''+','+  
			/*07*/convert(varchar(5),NUM_SPTO)+','+  
			/*08*/convert(varchar(5),NUM_APLI)+','+  
			/*09*/convert(varchar(5),NUM_SPTO_APLI)+','+  
			/*10*/''''+MCA_CARGA+''''+','+  
			/*11*/''''+MCA_CARGA_ASEG_VCR+''''+','+  
			/*12*/''''+MCA_PROCESSADO_VCR+''''+','+  
			/*13*/convert(varchar(5),isnull(NUM_SEQ_REMESSA_VCR, 'Null'))+','+  
			/*14*/convert(varchar(20),isnull(IMP_SPTO, 'Null'))+','+  
			/*15*/''''+MCA_RIESGOS+''''+','+  
			/*16*/convert(varchar(5),isnull(NUM_RIESGO, 'Null'))+','+ 
 			/*17*/convert(varchar(5),isnull(NUM_RIESGOS, 'Null'))+','+  
			/*18*/''''+convert(varchar(10),isnull(FEC_ALTA,'Null'),121)+''''+','+  
			/*19*/''''+convert(varchar(10),isnull(FEC_EQUIPO_VCR,'Null'),121)+''''+','+  
			/*20*/isnull(convert(varchar(5), COD_MODALIDAD), 'Null')+ ' from dual'
From  
		int_oracle.DBO.b2009001_vcr  
Where 
		COD_CIA = 54 and 
		cod_sector = 77 and 
		cod_ramo = 770 --and 
		NUM_CERTIFICADO = 115260420

imprimi essa string e está montando certinho, inclusive tem os mesmos numeros de campos e está na ordem, só que insisti em me dar esse erro:

 

The select list for the INSERT statement contains fewer items than the insert list. The number of SELECT values must match the number of INSERT columns.

 

ou seja, o número de colunas não coincide. mais está certinho. pq dá esse erro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola Rafa.

 

é o seguinte

Do modo em que esta, o seu "select" entre parenteses simples esta sendo interpretado como um campo.

tenta jogar este seu select em um tabela temporaria para depois jogar na tabela [web9...b2009001_vcr]

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

foi o que eu pensei. só q essa istrução eu vou precisar chamar no vb. só que para inserir nessa tabela b2009001_vcr (q está no oracle) eu preciso trazer somente os resultados, por isso fiz isso.

 

como posso arrumar? pq no vb não aceita tabela temporaria.

 

vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.