insercion de datos
Publicado por Juan Carlos (5 intervenciones) el 21/11/2007 00:53:22
Efectue un cursor y en este realizo una actualizacio de informacion en base a lo que me devuelve el cursor, pero necesito insertar la informacion que no encuentra en el update a la tabla. como ejemplo en oracle. que se utiliza el if sql%rowcount=0 then
pero no se como utilizarlo en el sql server. si alguien me puede ayudar le agradeceria bastante.
/* este ejemplo es de oracle y lo necesito hacer pero en el SQL Server*/
FOR L IN VD LOOP
/* actualiza ventas */
UPDATE cuotas_ventas_ruta
SET valor_venta = l.valor_venta,
cajas_venta = l.cajas_venta,
kilos_venta = l.kilos_venta
WHERE compania = l.compania
and TO_CHAR(fecha,'RRRR/MM/DD') = to_char(SYSDATE-NUMDIA,'RRRR/MM/DD')
and codigo_ruta = l.codigo_ruta
and codigo_articulo = l.codigo_articulo
and tipo_reporte = 'MENSUAL';
/* inserta venta si no existe cuota en articulo resto */
if sql%rowcount=0 then
insert into cuotas_ventas_ruta
(compania, fecha, codigo_ruta, codigo_articulo, valor_cuota, cajas_cuota, valor_venta, cajas_venta, tipo_reporte,valor_totcuo,cajas_totcuo,kilos_cuota,kilos_totcuo,kilos_venta)
values (l.compania, to_char(SYSDATE-NUMDIA,'RRRR/MM/DD'), l.codigo_ruta, l.codigo_articulo, null, null, l.valor_venta, l.cajas_venta,'MENSUAL',null,null,null,null,l.kilos_venta);
end if;
end loop;
pero no se como utilizarlo en el sql server. si alguien me puede ayudar le agradeceria bastante.
/* este ejemplo es de oracle y lo necesito hacer pero en el SQL Server*/
FOR L IN VD LOOP
/* actualiza ventas */
UPDATE cuotas_ventas_ruta
SET valor_venta = l.valor_venta,
cajas_venta = l.cajas_venta,
kilos_venta = l.kilos_venta
WHERE compania = l.compania
and TO_CHAR(fecha,'RRRR/MM/DD') = to_char(SYSDATE-NUMDIA,'RRRR/MM/DD')
and codigo_ruta = l.codigo_ruta
and codigo_articulo = l.codigo_articulo
and tipo_reporte = 'MENSUAL';
/* inserta venta si no existe cuota en articulo resto */
if sql%rowcount=0 then
insert into cuotas_ventas_ruta
(compania, fecha, codigo_ruta, codigo_articulo, valor_cuota, cajas_cuota, valor_venta, cajas_venta, tipo_reporte,valor_totcuo,cajas_totcuo,kilos_cuota,kilos_totcuo,kilos_venta)
values (l.compania, to_char(SYSDATE-NUMDIA,'RRRR/MM/DD'), l.codigo_ruta, l.codigo_articulo, null, null, l.valor_venta, l.cajas_venta,'MENSUAL',null,null,null,null,l.kilos_venta);
end if;
end loop;
Valora esta pregunta


0