Ver Mensaje Individual
  #4 (permalink)  
Antiguo 26/06/2010, 12:07
Quicky
 
Fecha de Ingreso: junio-2010
Mensajes: 25
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Ayuda con un Cursor

Hola amigos, gracias por su interes,

bueno como les comentaba, son mis primeros pasos, entonces, hay cosas que no se como se pudieran hacer, estuve tratando de estructurar un cursor segun algunos tutoriales q visto, creo q el insertar "personas nuevas" separando el campo "cod" en 2 seria asi:

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))
INSERT INTO personas_antiguas (id_cod,verif,nombre,edad) VALUES (@Ncod,@Nver,nombre,@edad)
end
close traspaso_personas
deallocate traspaso_personas
END
END


Ahora lo que no se me ocurre como hacerlo, es que solo inserte cuando las "personas nuevas" no se encuentres en la tabla "personas antiguas" y ademas, que si se encuentra "la personas nuevas" en la tabla "personas antiguas" pero la edad ya cambio, que actualice, el registro.

espero se entienda y puedan ayudarme, estoy un tanto complicado, por q no se nada de SQL, se entiede que todo se trata de practica, y es lo que me hace falta, son muchas tablas que tengo que hacer el mismo proceso, asi que teniendo este ejemplo, ya tendria el metodo para utilizarlas en las siguientes.

Saludos y gracias por su atencion.