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 SOCIEDADES_CONSTITUCIONES_2_DATOS_PERSONAS
**/
-- =============================================
CREATE OR ALTER PROCEDURE dbo.SOCIEDADES_CONSTITUCIONES_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;
-- Insert statements for procedure here
DECLARE @cuit VARCHAR(50)
DECLARE @fecha_pub DATE
DECLARE @nacionalidad VARCHAR(50)
DECLARE @estado_civil VARCHAR(50)
DECLARE @fecha_nac DATE
DECLARE @profesion VARCHAR(50)
DECLARE SocConst CURSOR FOR
SELECT TOP 10000 b.cuit_int, sc.fecha_publicacion,
IIF(LTRIM(RTRIM(sc.nacionalidad_int)) != '', sc.nacionalidad_int, null) as nacionalidad_int,
IIF(LTRIM(RTRIM(sc.estado_civil_int)) != '', sc.estado_civil_int, null) as estado_civil_int,
sc.fecha_nacimiento_int,
IIF(LTRIM(RTRIM(sc.profesion_int)) != '', sc.profesion_int, null) as profesion_int
FROM sociedades_constituciones sc INNER JOIN (
SELECT cuit_int, MAX(fecha_publicacion) as ultima
FROM (
select
cuit_int, ISNULL(fecha_publicacion, DATEFROMPARTS(1900,01,01)) AS fecha_publicacion
from sociedades_constituciones
where IIF(LTRIM(RTRIM(cuit_int)) != '', cuit_int, null) is not null
) a
GROUP BY cuit_int) b
ON (sc.cuit_int = b.cuit_int AND ISNULL(sc.fecha_publicacion, DATEFROMPARTS(1900,01,01)) = b.ultima)
WHERE (IIF(LTRIM(RTRIM(sc.cuit_int)) != '', sc.cuit_int, null) is not null
AND (IIF(LTRIM(RTRIM(sc.nacionalidad_int)) != '', sc.nacionalidad_int, null) is not null
or IIF(LTRIM(RTRIM(sc.estado_civil_int)) != '', sc.estado_civil_int, null) is not null
or sc.fecha_nacimiento_int is not null
or IIF(LTRIM(RTRIM(sc.profesion_int)) != '', sc.profesion_int, null) is not null) )
AND ISNULL(sc._datos_personas_proc, 0) = 0
OPEN SocConst
FETCH NEXT FROM SocConst INTO @cuit, @fecha_pub, @nacionalidad, @estado_civil, @fecha_nac, @profesion
WHILE @@FETCH_STATUS = 0 BEGIN
IF EXISTS (SELECT c01_cuit FROM DATOS_PERSONAS WHERE c01_cuit = @cuit) BEGIN
/* SOLO actualizo fecha de nacimiento si no existe el dato en DATOS_PERSONAS */
IF (@fecha_nac IS NOT NULL AND @fecha_nac != DATEFROMPARTS(1900,01,01)) BEGIN
UPDATE DATOS_PERSONAS SET c02_fecha_nac = @fecha_nac WHERE c01_cuit = @cuit AND c02_fecha_nac IS NULL
END
IF (@nacionalidad IS NULL AND @estado_civil IS NULL AND @profesion IS NOT NULL)
UPDATE DATOS_PERSONAS SET pro_codigo_profesion = @profesion WHERE c01_cuit = @cuit
IF (@nacionalidad IS NULL AND @estado_civil IS NOT NULL AND @profesion IS NULL)
UPDATE DATOS_PERSONAS SET cvl_codigo = @estado_civil WHERE c01_cuit = @cuit
IF (@nacionalidad IS NULL AND @estado_civil IS NOT NULL AND @profesion IS NOT NULL)
UPDATE DATOS_PERSONAS SET cvl_codigo = @estado_civil, pro_codigo_profesion = @profesion WHERE c01_cuit = @cuit
IF (@nacionalidad IS NOT NULL AND @estado_civil IS NULL AND @profesion IS NULL)
UPDATE DATOS_PERSONAS SET pai_codigo_nacionalidad = @nacionalidad WHERE c01_cuit = @cuit
IF (@nacionalidad IS NOT NULL AND @estado_civil IS NULL AND @profesion IS NOT NULL)
UPDATE DATOS_PERSONAS SET pai_codigo_nacionalidad = @nacionalidad, pro_codigo_profesion = @profesion WHERE c01_cuit = @cuit
IF (@nacionalidad IS NOT NULL AND @estado_civil IS NOT NULL AND @profesion IS NULL)
UPDATE DATOS_PERSONAS SET pai_codigo_nacionalidad = @nacionalidad, cvl_codigo = @estado_civil WHERE c01_cuit = @cuit
IF (@nacionalidad IS NOT NULL AND @estado_civil IS NOT NULL AND @profesion IS NOT NULL)
UPDATE DATOS_PERSONAS SET pai_codigo_nacionalidad = @nacionalidad, cvl_codigo = @estado_civil, pro_codigo_profesion = @profesion WHERE c01_cuit = @cuit
END ELSE BEGIN
IF (@fecha_nac != DATEFROMPARTS(1900,01,01))
INSERT INTO DATOS_PERSONAS (c01_cuit, pai_codigo_nacionalidad, cvl_codigo, pro_codigo_profesion, c02_fecha_nac, visible, created)
VALUES (@cuit, @nacionalidad, @estado_civil, @profesion, @fecha_nac, 1, GETDATE())
ELSE
INSERT INTO DATOS_PERSONAS (c01_cuit, pai_codigo_nacionalidad, cvl_codigo, pro_codigo_profesion, visible, created)
VALUES (@cuit, @nacionalidad, @estado_civil, @profesion, 1, GETDATE())
--select @cuit as CUIT
END
UPDATE sociedades_constituciones SET _datos_personas_proc = 1 WHERE cuit_int = @cuit
FETCH NEXT FROM SocConst INTO @cuit, @fecha_pub, @nacionalidad, @estado_civil, @fecha_nac, @profesion
END
CLOSE SocConst
DEALLOCATE SocConst
END
GO
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
/**
EXEC SOCIEDADES_CONSTITUCIONES_2_DATOS_PERSONAS
**/
-- =============================================
CREATE OR ALTER PROCEDURE dbo.SOCIEDADES_CONSTITUCIONES_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;
-- Insert statements for procedure here
DECLARE @cuit VARCHAR(50)
DECLARE @fecha_pub DATE
DECLARE @nacionalidad VARCHAR(50)
DECLARE @estado_civil VARCHAR(50)
DECLARE @fecha_nac DATE
DECLARE @profesion VARCHAR(50)
DECLARE SocConst CURSOR FOR
SELECT TOP 10000 b.cuit_int, sc.fecha_publicacion,
IIF(LTRIM(RTRIM(sc.nacionalidad_int)) != '', sc.nacionalidad_int, null) as nacionalidad_int,
IIF(LTRIM(RTRIM(sc.estado_civil_int)) != '', sc.estado_civil_int, null) as estado_civil_int,
sc.fecha_nacimiento_int,
IIF(LTRIM(RTRIM(sc.profesion_int)) != '', sc.profesion_int, null) as profesion_int
FROM sociedades_constituciones sc INNER JOIN (
SELECT cuit_int, MAX(fecha_publicacion) as ultima
FROM (
select
cuit_int, ISNULL(fecha_publicacion, DATEFROMPARTS(1900,01,01)) AS fecha_publicacion
from sociedades_constituciones
where IIF(LTRIM(RTRIM(cuit_int)) != '', cuit_int, null) is not null
) a
GROUP BY cuit_int) b
ON (sc.cuit_int = b.cuit_int AND ISNULL(sc.fecha_publicacion, DATEFROMPARTS(1900,01,01)) = b.ultima)
WHERE (IIF(LTRIM(RTRIM(sc.cuit_int)) != '', sc.cuit_int, null) is not null
AND (IIF(LTRIM(RTRIM(sc.nacionalidad_int)) != '', sc.nacionalidad_int, null) is not null
or IIF(LTRIM(RTRIM(sc.estado_civil_int)) != '', sc.estado_civil_int, null) is not null
or sc.fecha_nacimiento_int is not null
or IIF(LTRIM(RTRIM(sc.profesion_int)) != '', sc.profesion_int, null) is not null) )
AND ISNULL(sc._datos_personas_proc, 0) = 0
OPEN SocConst
FETCH NEXT FROM SocConst INTO @cuit, @fecha_pub, @nacionalidad, @estado_civil, @fecha_nac, @profesion
WHILE @@FETCH_STATUS = 0 BEGIN
IF EXISTS (SELECT c01_cuit FROM DATOS_PERSONAS WHERE c01_cuit = @cuit) BEGIN
/* SOLO actualizo fecha de nacimiento si no existe el dato en DATOS_PERSONAS */
IF (@fecha_nac IS NOT NULL AND @fecha_nac != DATEFROMPARTS(1900,01,01)) BEGIN
UPDATE DATOS_PERSONAS SET c02_fecha_nac = @fecha_nac WHERE c01_cuit = @cuit AND c02_fecha_nac IS NULL
END
IF (@nacionalidad IS NULL AND @estado_civil IS NULL AND @profesion IS NOT NULL)
UPDATE DATOS_PERSONAS SET pro_codigo_profesion = @profesion WHERE c01_cuit = @cuit
IF (@nacionalidad IS NULL AND @estado_civil IS NOT NULL AND @profesion IS NULL)
UPDATE DATOS_PERSONAS SET cvl_codigo = @estado_civil WHERE c01_cuit = @cuit
IF (@nacionalidad IS NULL AND @estado_civil IS NOT NULL AND @profesion IS NOT NULL)
UPDATE DATOS_PERSONAS SET cvl_codigo = @estado_civil, pro_codigo_profesion = @profesion WHERE c01_cuit = @cuit
IF (@nacionalidad IS NOT NULL AND @estado_civil IS NULL AND @profesion IS NULL)
UPDATE DATOS_PERSONAS SET pai_codigo_nacionalidad = @nacionalidad WHERE c01_cuit = @cuit
IF (@nacionalidad IS NOT NULL AND @estado_civil IS NULL AND @profesion IS NOT NULL)
UPDATE DATOS_PERSONAS SET pai_codigo_nacionalidad = @nacionalidad, pro_codigo_profesion = @profesion WHERE c01_cuit = @cuit
IF (@nacionalidad IS NOT NULL AND @estado_civil IS NOT NULL AND @profesion IS NULL)
UPDATE DATOS_PERSONAS SET pai_codigo_nacionalidad = @nacionalidad, cvl_codigo = @estado_civil WHERE c01_cuit = @cuit
IF (@nacionalidad IS NOT NULL AND @estado_civil IS NOT NULL AND @profesion IS NOT NULL)
UPDATE DATOS_PERSONAS SET pai_codigo_nacionalidad = @nacionalidad, cvl_codigo = @estado_civil, pro_codigo_profesion = @profesion WHERE c01_cuit = @cuit
END ELSE BEGIN
IF (@fecha_nac != DATEFROMPARTS(1900,01,01))
INSERT INTO DATOS_PERSONAS (c01_cuit, pai_codigo_nacionalidad, cvl_codigo, pro_codigo_profesion, c02_fecha_nac, visible, created)
VALUES (@cuit, @nacionalidad, @estado_civil, @profesion, @fecha_nac, 1, GETDATE())
ELSE
INSERT INTO DATOS_PERSONAS (c01_cuit, pai_codigo_nacionalidad, cvl_codigo, pro_codigo_profesion, visible, created)
VALUES (@cuit, @nacionalidad, @estado_civil, @profesion, 1, GETDATE())
--select @cuit as CUIT
END
UPDATE sociedades_constituciones SET _datos_personas_proc = 1 WHERE cuit_int = @cuit
FETCH NEXT FROM SocConst INTO @cuit, @fecha_pub, @nacionalidad, @estado_civil, @fecha_nac, @profesion
END
CLOSE SocConst
DEALLOCATE SocConst
END
GO
Depends On
2Used By
No items found