convertir cursores a INSERT INTO

26/04/2004 - 20:54 por Antonio Ortiz | Informe spam
Hola,

Ojala alguien pueda ayudarme con esto:
cuento con las tablas:

TbaAlmacen (IDAlmacen, ...)
TbaProducto (IDProducto, ...)
TbaExistencia (IDProducto, IDAlmacen, ...)

Cada vez que se guarda un registro de productos, el sistema hace lo
siguiente:
I)
1) Abre un cursor con la lista de almacenes
2) por cada almacen da de alta un registro en la tabla de existencias con
el almacen y producto correspondiente (solo si no existe)

Cuando se da de modifica un almacen, el proceso es el siguiente:
II)
1) Se cicla por cada producto y se da de alta solo si no existe en dicho
almacen

* La relacion entre TbaProducto y TbaAlmacen, es a traves de la tabla
intermedia TbaExistencia


Lo he intentado con Insert Into pero no he podido hacerlo, alguna ayuda?.
Problemas I) y II)


Gracias a todos,


Antonio Ortiz Ramirez
asesor en sistemas
ant@aortiz.net.nospam
www.aortiz.net
www.progvisual.com
 

Leer las respuestas

#1 ulises
26/04/2004 - 23:16 | Informe spam
Para el caso (I) adapta el siguiente script :

create table TbaAlmacen (IDAlmacen int)
create table TbaProducto (IDProducto int)
create table TbaExistencia (IDProducto int, IDAlmacen int)
go
insert into TbaAlmacen values ( 1 )
insert into TbaAlmacen values ( 2 )
insert into TbaAlmacen values ( 3 )
go
create procedure insertTbaProducto
@producto int
as
insert into TbaProducto values ( @producto )
insert into TbaExistencia
select @producto, a.IDAlmacen
from TbaAlmacen a left join TbaExistencia e
on ( a.IdAlmacen = e.IDAlmacen and e.IDProducto =
@producto )
where e.IDAlmacen IS NULL

si se ejecuta el procedimiento almacenado :

exec insertTbaProducto 1
select * from TbaExistencia

resultado :

IDProducto IDAlmacen
1 1
1 2
1 3

(3 row(s) affected)

el caso (II) no lo he entendido.

Saludos,
Ulises


Hola,

Ojala alguien pueda ayudarme con esto:
cuento con las tablas:

TbaAlmacen (IDAlmacen, ...)
TbaProducto (IDProducto, ...)
TbaExistencia (IDProducto, IDAlmacen, ...)

Cada vez que se guarda un registro de productos, el


sistema hace lo
siguiente:
I)
1) Abre un cursor con la lista de almacenes
2) por cada almacen da de alta un registro en la tabla


de existencias con
el almacen y producto correspondiente (solo si no existe)

Cuando se da de modifica un almacen, el proceso es el


siguiente:
II)
1) Se cicla por cada producto y se da de alta solo si


no existe en dicho
almacen

* La relacion entre TbaProducto y TbaAlmacen, es a traves


de la tabla
intermedia TbaExistencia


Lo he intentado con Insert Into pero no he podido


hacerlo, alguna ayuda?.
Problemas I) y II)


Gracias a todos,


Antonio Ortiz Ramirez
asesor en sistemas

www.aortiz.net
www.progvisual.com



.

Preguntas similares