SQL Server - insercion de datos

   
Vista:

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;
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:insercion de datos

Publicado por Merovingio (8 intervenciones) el 21/11/2007 02:47:23
Puedes okupar la variable @@ROWCOUNT de la misma forma, es decir

IF @@ROWCOUNT = 0
BEGIN
-- tu código
END
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:insercion de datos

Publicado por Juan Carlos (5 intervenciones) el 21/11/2007 17:41:52
Muchas Gracias. lo probe y me funciono.

solo otra molestia si me podrias ayudar en lo siguiente.

yo deseo ingresar una fecha en una tabla con el tipo smalldatetime, pero necesito que ingrese solo la fecha no la hora, que esta se quede como ceros.

utilizo el siguiente formato pero no me da resultado.

convert(smalldatetime, getdate(),101) pero me sigue saliendo la hora.

gracias por la ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar