Respuesta: Copiar registros que no estén repetidos a una tabla ok, estos son los campos
idpac,idexp,idinss,iden,idriesgo,idcedula,codcat,c odpro,nombres,apellidos,fecnac,codestciv,codsexo,l ugnac,fecapertura,codsit,fecsit,codmil,edad,estado ,codedad,idpamor,asegurado,sucursal
el campo que lo diferencia es idexp, yo hice esta query pero no me recorre todos los registros
Código SQL:
Ver originalDECLARE @pac AS INT DECLARE @EXP AS VARCHAR(50) DECLARE @inss AS VARCHAR(50) DECLARE @en AS VARCHAR(50) DECLARE @riesgo AS VARCHAR(50) DECLARE @cedula AS VARCHAR(50) DECLARE @cat AS INT DECLARE @pro AS INT DECLARE @nombres AS VARCHAR(100) DECLARE @apellidos AS VARCHAR(100) DECLARE @fecnacimiento AS datetime DECLARE @estadocivil AS INT DECLARE @sexo AS INT DECLARE @lugnacimiento AS VARCHAR(100) DECLARE @fecapertura AS datetime DECLARE @sit AS INT DECLARE @fecsit AS datetime DECLARE @mil AS INT DECLARE @edad AS INT DECLARE @estado AS INT DECLARE @codedad AS VARCHAR(50) DECLARE @pamor AS VARCHAR(50) DECLARE @asegurado AS INT DECLARE @sucursal AS INT DECLARE @cod AS VARCHAR(50) DECLARE NEWESTU CURSOR FOR ------------------------------------------------------------------------------------------------------------------------------------------------------------------- SELECT * FROM PacientesA WHERE idexp LIKE '5%' SET @cod=idexp ------------------------------------------------------------------------------------------------------------------------------------------------------------------- OPEN NEWESTU FETCH NEXT FROM NEWESTU INTO @pac,@EXP,@inss,@en,@riesgo,@cedula,@cat,@pro,@nombres,@apellidos,@fecnacimiento,@estadocivil,@sexo,@lugnacimiento,@fecapertura,@sit,@fecsit,@mil,@edad,@estado,@codedad,@pamor,@asegurado,@sucursal WHILE @@FETCH_STATUS = 0 BEGIN IF EXISTS ( SELECT * FROM PacientesA WHERE idexp=@cod) UPDATE PacientesA SET idpac=@pac,idexp=@EXP,idinss=@inss,iden=@en,idriesgo=@riesgo,idcedula=@cedula,codcat=@cat,codpro=@pro,nombres=@nombres,apellidos=@apellidos,fecnac=@fecnacimiento,codestciv=@estadocivil,codsexo=@sexo,lugnac=@lugnacimiento,fecapertura=@fecapertura,codsit=@sit,fecsit=@fecsit,codmil=@mil,edad=@edad,estado=@estado,codedad=@codedad,idpamor=@pamor,asegurado=@asegurado,sucursal=@sucursal ELSE INSERT INTO PacientesA ( idpac,idexp,idinss,iden,idriesgo,idcedula,codcat,codpro,nombres,apellidos,fecnac,codestciv,codsexo,lugnac,fecapertura,codsit,fecsit,codmil,edad,estado,codedad,idpamor,asegurado,sucursal) VALUES ( @pac,@EXP,@inss,@en,@riesgo,@cedula,@cat,@pro,@nombres,@apellidos,@fecnacimiento,@estadocivil,@sexo,@lugnacimiento,@fecapertura,@sit,@fecsit,@mil,@edad,@estado,@codedad,@pamor,@asegurado,@sucursal ) FETCH NEXT FROM NEWESTU INTO @pac,@EXP,@inss,@en,@riesgo,@cedula,@cat,@pro,@nombres,@apellidos,@fecnacimiento,@estadocivil,@sexo,@lugnacimiento,@fecapertura,@sit,@fecsit,@mil,@edad,@estado,@codedad,@pamor,@asegurado,@sucursal END CLOSE NEWESTU DEALLOCATE NEWESTU
Última edición por gnzsoloyo; 15/12/2015 a las 12:46
Razón: Codigo SQL sin etiquetar...
|