Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
/**
EXEC OBRASSOCIALES_2_DATOS_PERSONAS
**/
-- =============================================
CREATE OR ALTER PROCEDURE dbo.OBRASSOCIALES_2_DATOS_PERSONAS
-- Add the parameters for the stored procedure here
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @cuit varchar(50)
DECLARE @fecha varchar(50)
DECLARE @fecha_nac date
DECLARE @sexo varchar(1)
DECLARE @cuit_persona varchar(50)
DECLARE OBRASSOC CURSOR FOR
/*select AAA.cuilRelacionado as cuit,
/*datefromparts(right(convert(varchar(10),AAA.FechaNacimiento),4),
substring(convert(varchar(10),AAA.FechaNacimiento),4,2),
left(convert(varchar(10),AAA.FechaNacimiento),2)) as fecha_nac,*/
AAA.FechaNacimiento as fecha_nac,
left(AAA.CodSexo, 1) as sexo,
DATOS_PERSONAS.c01_cuit
FROM
(select top 10000 cuilRelacionado, FechaNacimiento, CodSexo
from ObrasSociales
where ISNULL(_datos_personas_proc, 0) = 0
--and iif(LTRIM(RTRIM(FechaNacimiento)) != '', FechaNacimiento, NULL) is not null
group by cuilRelacionado, FechaNacimiento, CodSexo) AAA
LEFT OUTER JOIN DATOS_PERSONAS ON AAA.cuilRelacionado = DATOS_PERSONAS.c01_cuit
WHERE DATOS_PERSONAS.c02_fecha_nac IS NULL
--order by AAA.FechaNacimiento */
select top 100000
ObrasSociales.cuilRelacionado as cuit,
ObrasSociales.FechaNacimiento as fecha_nac,
left(ObrasSociales.CodSexo, 1) as sexo,
DATOS_PERSONAS.c01_cuit
from ObrasSociales
LEFT OUTER JOIN DATOS_PERSONAS
ON ObrasSociales.cuilRelacionado = DATOS_PERSONAS.c01_cuit
where ISNULL(ObrasSociales._datos_personas_proc, 0) = 0
and DATOS_PERSONAS.c02_fecha_nac IS NULL
group by ObrasSociales.cuilRelacionado,
ObrasSociales.FechaNacimiento,
ObrasSociales.CodSexo,
DATOS_PERSONAS.c01_cuit
OPEN OBRASSOC
FETCH NEXT FROM OBRASSOC INTO @cuit, @fecha, @sexo, @cuit_persona
WHILE @@FETCH_STATUS = 0 BEGIN
SET @fecha = ltrim(rtrim(convert(varchar(10), @fecha)))
SET @fecha_nac = NULL
if (LEN(@fecha) = 10) begin
if (CHARINDEX('-', @fecha, 1) = 5)
SET @fecha_nac = datefromparts(LEFT(convert(varchar(10),@fecha),4),
substring(convert(varchar(10),@fecha),6,2),
RIGHT(convert(varchar(10),@fecha),2))
else
if (CHARINDEX('/', @fecha, 1) = 3)
SET @fecha_nac = datefromparts(right(convert(varchar(10),@fecha),4),
substring(convert(varchar(10),@fecha),4,2),
left(convert(varchar(10),@fecha),2))
end
IF (@fecha_nac IS NOT NULL) BEGIN
IF (@fecha_nac > DATEFROMPARTS(1900,01,01)) BEGIN
IF (@cuit_persona IS NOT NULL) BEGIN
UPDATE DATOS_PERSONAS SET c02_fecha_nac = @fecha_nac
WHERE c01_cuit = @cuit AND c02_fecha_nac IS NULL
END
ELSE BEGIN
INSERT INTO DATOS_PERSONAS (c01_cuit, c02_fecha_nac)
VALUES (@cuit, @fecha_nac)
END
if not exists (select cuit from padrones_sexo_update where cuit = @cuit) begin
insert into padrones_sexo_update (cuit, sexo) values (@cuit, @sexo)
end
END
END
UPDATE ObrasSociales SET _datos_personas_proc = 1 WHERE cuilRelacionado = @cuit
FETCH NEXT FROM OBRASSOC INTO @cuit, @fecha, @sexo, @cuit_persona
END
CLOSE OBRASSOC
DEALLOCATE OBRASSOC
END
GO
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
/**
EXEC OBRASSOCIALES_2_DATOS_PERSONAS
**/
-- =============================================
CREATE OR ALTER PROCEDURE dbo.OBRASSOCIALES_2_DATOS_PERSONAS
-- Add the parameters for the stored procedure here
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @cuit varchar(50)
DECLARE @fecha varchar(50)
DECLARE @fecha_nac date
DECLARE @sexo varchar(1)
DECLARE @cuit_persona varchar(50)
DECLARE OBRASSOC CURSOR FOR
/*select AAA.cuilRelacionado as cuit,
/*datefromparts(right(convert(varchar(10),AAA.FechaNacimiento),4),
substring(convert(varchar(10),AAA.FechaNacimiento),4,2),
left(convert(varchar(10),AAA.FechaNacimiento),2)) as fecha_nac,*/
AAA.FechaNacimiento as fecha_nac,
left(AAA.CodSexo, 1) as sexo,
DATOS_PERSONAS.c01_cuit
FROM
(select top 10000 cuilRelacionado, FechaNacimiento, CodSexo
from ObrasSociales
where ISNULL(_datos_personas_proc, 0) = 0
--and iif(LTRIM(RTRIM(FechaNacimiento)) != '', FechaNacimiento, NULL) is not null
group by cuilRelacionado, FechaNacimiento, CodSexo) AAA
LEFT OUTER JOIN DATOS_PERSONAS ON AAA.cuilRelacionado = DATOS_PERSONAS.c01_cuit
WHERE DATOS_PERSONAS.c02_fecha_nac IS NULL
--order by AAA.FechaNacimiento */
select top 100000
ObrasSociales.cuilRelacionado as cuit,
ObrasSociales.FechaNacimiento as fecha_nac,
left(ObrasSociales.CodSexo, 1) as sexo,
DATOS_PERSONAS.c01_cuit
from ObrasSociales
LEFT OUTER JOIN DATOS_PERSONAS
ON ObrasSociales.cuilRelacionado = DATOS_PERSONAS.c01_cuit
where ISNULL(ObrasSociales._datos_personas_proc, 0) = 0
and DATOS_PERSONAS.c02_fecha_nac IS NULL
group by ObrasSociales.cuilRelacionado,
ObrasSociales.FechaNacimiento,
ObrasSociales.CodSexo,
DATOS_PERSONAS.c01_cuit
OPEN OBRASSOC
FETCH NEXT FROM OBRASSOC INTO @cuit, @fecha, @sexo, @cuit_persona
WHILE @@FETCH_STATUS = 0 BEGIN
SET @fecha = ltrim(rtrim(convert(varchar(10), @fecha)))
SET @fecha_nac = NULL
if (LEN(@fecha) = 10) begin
if (CHARINDEX('-', @fecha, 1) = 5)
SET @fecha_nac = datefromparts(LEFT(convert(varchar(10),@fecha),4),
substring(convert(varchar(10),@fecha),6,2),
RIGHT(convert(varchar(10),@fecha),2))
else
if (CHARINDEX('/', @fecha, 1) = 3)
SET @fecha_nac = datefromparts(right(convert(varchar(10),@fecha),4),
substring(convert(varchar(10),@fecha),4,2),
left(convert(varchar(10),@fecha),2))
end
IF (@fecha_nac IS NOT NULL) BEGIN
IF (@fecha_nac > DATEFROMPARTS(1900,01,01)) BEGIN
IF (@cuit_persona IS NOT NULL) BEGIN
UPDATE DATOS_PERSONAS SET c02_fecha_nac = @fecha_nac
WHERE c01_cuit = @cuit AND c02_fecha_nac IS NULL
END
ELSE BEGIN
INSERT INTO DATOS_PERSONAS (c01_cuit, c02_fecha_nac)
VALUES (@cuit, @fecha_nac)
END
if not exists (select cuit from padrones_sexo_update where cuit = @cuit) begin
insert into padrones_sexo_update (cuit, sexo) values (@cuit, @sexo)
end
END
END
UPDATE ObrasSociales SET _datos_personas_proc = 1 WHERE cuilRelacionado = @cuit
FETCH NEXT FROM OBRASSOC INTO @cuit, @fecha, @sexo, @cuit_persona
END
CLOSE OBRASSOC
DEALLOCATE OBRASSOC
END
GO
Depends On
3Used By
No items found