Ver Mensaje Individual
  #6 (permalink)  
Antiguo 27/06/2010, 11:01
dvp28
 
Fecha de Ingreso: junio-2010
Mensajes: 5
Antigüedad: 13 años, 9 meses
Puntos: 1
Respuesta: Ayuda con un Cursor

ahh, disculpa el codigo anterior esta mal xD!.


aca te lo corrijo:


ALTER PROCEDURE [dbo].[TraspasoDeDatos]
AS
BEGIN
DECLARE @cod AS VARCHAR (50)
DECLARE @Ncod AS int
DECLARE @Nver AS VARCHAR (1)
DECLARE @nombre AS VARCHAR (50)
DECLARE @edad
DECLARE traspaso_personas cursor for
SELECT [codigo]
,[nombre]
,[edad]
FROM personas_nuevas
OPEN traspaso_personas
FETCH next from traspaso_personas
INTO @cod,@nombre,@edad
while @@fetch_status = 0
begin
fetch next from traspaso_personas
INTO @cod,@nombre,@edad
SET @Ncod=CONVERT(INT,SUBSTRING(@cod,0,CHARINDEX('-', @cod)))
SET @Nver= SUBSTRING (@cod,CHARINDEX('-', @cod)+1,LEN(@cod))

if exists(select * from personas_antiguas where id_cod=@cod)
begin
update personas_antiguas set nombre=@nombre,edad=@edad where id_cod=@cod
end
else
begin
INSERT INTO personas_antiguas (id_cod,verif,nombre,edad) VALUES (@Ncod,@Nver,@nombre,@edad)
end

end
close traspaso_personas
deallocate traspaso_personas
END
END


y son con estas sentencias "exists" o "not exists".

eso me pasa por no practicar -.-!.