Consulta

23/08/2003 - 22:07 por Nacho | Informe spam
Necesitaria saber como hacer para poder insertar todos los
productos que puse en where en un solo insert.

lo hago con un case?
como ?

disculpas por esta pregunta, gracias.

insert tmp_galiciaren3
select carpeta, tipdoc, numdoc, num_cta, num_oper,
apellido, nombre, moneda, producto, product, fecha, importe
from tmp_galiciaren2
where product='PP+Visa' and numdoc=numdoc and
importe=importe and producto='Visa'

insert tmp_galiciaren3
select carpeta, tipdoc, numdoc, num_cta, num_oper,
apellido, nombre, moneda, producto, product, fecha, importe
from tmp_galiciaren2
where product='VISA+CC' and numdoc=numdoc and
importe=importe and producto='Visa'

insert tmp_galiciaren3
select carpeta, tipdoc, numdoc, num_cta, num_oper,
apellido, nombre, moneda, producto, product, fecha, importe
from tmp_galiciaren2
where product='CC+Visa+PP' and numdoc=numdoc and
importe=importe and producto='CCorriente'

insert tmp_galiciaren3
select carpeta, tipdoc, numdoc, num_cta, num_oper,
apellido, nombre, moneda, producto, product, fecha, importe
from tmp_galiciaren2
where product='PP+AExprees' and numdoc=numdoc and
importe=importe and producto='AExpress'

insert tmp_galiciaren3
select carpeta, tipdoc, numdoc, num_cta, num_oper,
apellido, nombre, moneda, producto, product, fecha, importe
from tmp_galiciaren2
where product='Visa+Amex+MC' and numdoc=numdoc and
importe=importe and producto='Mastercard'

Preguntas similare

Leer las respuestas

#1 Fernando España
23/08/2003 - 22:43 | Informe spam
Si no mal entiendo, el insert hace lo mismo para todos los casos, unicamente
varias la condicion
las tablas de origen y destino son las mismas. si lo que quieres es evitar
hacer o programar varios selects
puedes hacer un procedimiento almacenado donde envies el where de parametro
como cadena te texto
luego usas un executesql construyendo la sentencia dinamicamente y luego la
ejecutas. lee en el bol
lo que se refiere a executesql

Fernando España


"Nacho" wrote in message
news:01d601c369b2$25c21f40$

Necesitaria saber como hacer para poder insertar todos los
productos que puse en where en un solo insert.

lo hago con un case?
como ?

disculpas por esta pregunta, gracias.

insert tmp_galiciaren3
select carpeta, tipdoc, numdoc, num_cta, num_oper,
apellido, nombre, moneda, producto, product, fecha, importe
from tmp_galiciaren2
where product='PP+Visa' and numdoc=numdoc and
importe=importe and producto='Visa'

insert tmp_galiciaren3
select carpeta, tipdoc, numdoc, num_cta, num_oper,
apellido, nombre, moneda, producto, product, fecha, importe
from tmp_galiciaren2
where product='VISA+CC' and numdoc=numdoc and
importe=importe and producto='Visa'

insert tmp_galiciaren3
select carpeta, tipdoc, numdoc, num_cta, num_oper,
apellido, nombre, moneda, producto, product, fecha, importe
from tmp_galiciaren2
where product='CC+Visa+PP' and numdoc=numdoc and
importe=importe and producto='CCorriente'

insert tmp_galiciaren3
select carpeta, tipdoc, numdoc, num_cta, num_oper,
apellido, nombre, moneda, producto, product, fecha, importe
from tmp_galiciaren2
where product='PP+AExprees' and numdoc=numdoc and
importe=importe and producto='AExpress'

insert tmp_galiciaren3
select carpeta, tipdoc, numdoc, num_cta, num_oper,
apellido, nombre, moneda, producto, product, fecha, importe
from tmp_galiciaren2
where product='Visa+Amex+MC' and numdoc=numdoc and
importe=importe and producto='Mastercard'
Respuesta Responder a este mensaje
#2 Fernando España
23/08/2003 - 22:52 | Informe spam
Perdon.. corrigiendome a mi mismo.. no habia visto muy buen los inserts..
jajaja
con este procedimiento, y asumiendo que los datos del where son variables,
bueno, unicamente los enviamos como parametros.


create procedure proc_insertar_valores @product char(10),@numdoc
char(10),@importe numeric(18,2),@producto char(10)
as
begin

insert tmp_galiciaren3
select carpeta, tipdoc, numdoc, num_cta, num_oper,
apellido, nombre, moneda, producto, product, fecha, importe
from tmp_galiciaren2
where product=@product and numdoc=@numdoc and
importe=@importe and producto=@producto

return
end


Fernando Espáña




"Fernando España" wrote in message
news:
Si no mal entiendo, el insert hace lo mismo para todos los casos,


unicamente
varias la condicion
las tablas de origen y destino son las mismas. si lo que quieres es evitar
hacer o programar varios selects
puedes hacer un procedimiento almacenado donde envies el where de


parametro
como cadena te texto
luego usas un executesql construyendo la sentencia dinamicamente y luego


la
ejecutas. lee en el bol
lo que se refiere a executesql

Fernando España


"Nacho" wrote in message
news:01d601c369b2$25c21f40$
>
> Necesitaria saber como hacer para poder insertar todos los
> productos que puse en where en un solo insert.
>
> lo hago con un case?
> como ?
>
> disculpas por esta pregunta, gracias.
>
> insert tmp_galiciaren3
> select carpeta, tipdoc, numdoc, num_cta, num_oper,
> apellido, nombre, moneda, producto, product, fecha, importe
> from tmp_galiciaren2
> where product='PP+Visa' and numdoc=numdoc and
> importe=importe and producto='Visa'
>
> insert tmp_galiciaren3
> select carpeta, tipdoc, numdoc, num_cta, num_oper,
> apellido, nombre, moneda, producto, product, fecha, importe
> from tmp_galiciaren2
> where product='VISA+CC' and numdoc=numdoc and
> importe=importe and producto='Visa'
>
> insert tmp_galiciaren3
> select carpeta, tipdoc, numdoc, num_cta, num_oper,
> apellido, nombre, moneda, producto, product, fecha, importe
> from tmp_galiciaren2
> where product='CC+Visa+PP' and numdoc=numdoc and
> importe=importe and producto='CCorriente'
>
> insert tmp_galiciaren3
> select carpeta, tipdoc, numdoc, num_cta, num_oper,
> apellido, nombre, moneda, producto, product, fecha, importe
> from tmp_galiciaren2
> where product='PP+AExprees' and numdoc=numdoc and
> importe=importe and producto='AExpress'
>
> insert tmp_galiciaren3
> select carpeta, tipdoc, numdoc, num_cta, num_oper,
> apellido, nombre, moneda, producto, product, fecha, importe
> from tmp_galiciaren2
> where product='Visa+Amex+MC' and numdoc=numdoc and
> importe=importe and producto='Mastercard'


Respuesta Responder a este mensaje
#3 Nacho
24/08/2003 - 19:28 | Informe spam
Gracias fernando , me voy a poner a leer un poco de
procedures... muchas gracias!!!



Perdon.. corrigiendome a mi mismo.. no habia visto muy


buen los inserts..
jajaja
con este procedimiento, y asumiendo que los datos del


where son variables,
bueno, unicamente los enviamos como parametros.


create procedure proc_insertar_valores @product char


(10),@numdoc
char(10),@importe numeric(18,2),@producto char(10)
as
begin

insert tmp_galiciaren3
select carpeta, tipdoc, numdoc, num_cta, num_oper,
apellido, nombre, moneda, producto, product, fecha,


importe
from tmp_galiciaren2
where product=@product and numdoc=@numdoc and
importe=@importe and producto=@producto

return
end


Fernando Espáña




"Fernando España"


wrote in message
news:
Si no mal entiendo, el insert hace lo mismo para todos




los casos,
unicamente
varias la condicion
las tablas de origen y destino son las mismas. si lo




que quieres es evitar
hacer o programar varios selects
puedes hacer un procedimiento almacenado donde envies




el where de
parametro
como cadena te texto
luego usas un executesql construyendo la sentencia




dinamicamente y luego
la
ejecutas. lee en el bol
lo que se refiere a executesql

Fernando España


"Nacho" wrote in message
news:01d601c369b2$25c21f40$
>
> Necesitaria saber como hacer para poder insertar




todos los
> productos que puse en where en un solo insert.
>
> lo hago con un case?
> como ?
>
> disculpas por esta pregunta, gracias.
>
> insert tmp_galiciaren3
> select carpeta, tipdoc, numdoc, num_cta, num_oper,
> apellido, nombre, moneda, producto, product, fecha,




importe
> from tmp_galiciaren2
> where product='PP+Visa' and numdoc=numdoc and
> importe=importe and producto='Visa'
>
> insert tmp_galiciaren3
> select carpeta, tipdoc, numdoc, num_cta, num_oper,
> apellido, nombre, moneda, producto, product, fecha,




importe
> from tmp_galiciaren2
> where product='VISA+CC' and numdoc=numdoc and
> importe=importe and producto='Visa'
>
> insert tmp_galiciaren3
> select carpeta, tipdoc, numdoc, num_cta, num_oper,
> apellido, nombre, moneda, producto, product, fecha,




importe
> from tmp_galiciaren2
> where product='CC+Visa+PP' and numdoc=numdoc and
> importe=importe and producto='CCorriente'
>
> insert tmp_galiciaren3
> select carpeta, tipdoc, numdoc, num_cta, num_oper,
> apellido, nombre, moneda, producto, product, fecha,




importe
> from tmp_galiciaren2
> where product='PP+AExprees' and numdoc=numdoc and
> importe=importe and producto='AExpress'
>
> insert tmp_galiciaren3
> select carpeta, tipdoc, numdoc, num_cta, num_oper,
> apellido, nombre, moneda, producto, product, fecha,




importe
> from tmp_galiciaren2
> where product='Visa+Amex+MC' and numdoc=numdoc and
> importe=importe and producto='Mastercard'






.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida