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
/*
select cuil, identificacion, dni, * from renaper_info where id = 39408
exec [sp_buscar_cuit] null, '4432409', null
exec [sp_buscar_cuit] 'BRAGAGNOLO CASTRO MARÍA EMILIA', '39242324', '"BRAGAGNOLO" near "CASTRO" near "MARÍA" near "EMILIA"'
*/
CREATE OR ALTER PROCEDURE dbo.RENAPER_COMPLETA_CUITS_FALTANTES
AS
BEGIN
SET NOCOUNT ON;
declare @dni varchar(8)
declare @nombre varchar(200)
declare @cuit varchar(11)
declare @cuits table (cuit varchar(20), nombre varchar(200))
declare @id bigint
DECLARE C_cursor CURSOR FOR
select upper(apellido) + ' ' + upper(nombres) as nombre,
ltrim(rtrim(dbo.fn_StripCharacters(dni, '^0-9/'))) as dni, id
from RENAPER_INFO
where nroError = 0 and ISNULL(cuil,'0') in ('','0') and dni is not null
-- and Id = 39408
declare @cant int = 0
declare @act int = 0
declare @nombre_contains varchar(500)
OPEN C_cursor
FETCH NEXT FROM C_cursor INTO @nombre, @dni, @id
WHILE @@fetch_status = 0
BEGIN
set @cant = @cant + 1
set @cuit = null
delete from @cuits
set @nombre_contains = (select REPLACE(@nombre,' ','" near "'))
set @nombre_contains = '"' + @nombre_contains + '"'
--select '"' + @nombre + '"' as nombre, '"' + @dni + '"' as dni, 'antes de sp_buscar_cuit' as leyenda
--select @nombre_contains return
insert into @cuits
exec [sp_buscar_cuit] @nombre, @dni, @nombre_contains
select top 1 @cuit = cuit from @cuits
if (@cuit is not null)
begin
set @act = @act + 1
update RENAPER_INFO set cuil = @cuit, identificacion = @cuit where id = @id
end
else
begin
select @nombre nombre, @dni dni, @id id
end
FETCH NEXT FROM C_cursor INTO @nombre, @dni, @id
END
CLOSE C_cursor
DEALLOCATE C_cursor
select @cant as procesados, @act as actualizados
END
GO
GO
/*
select cuil, identificacion, dni, * from renaper_info where id = 39408
exec [sp_buscar_cuit] null, '4432409', null
exec [sp_buscar_cuit] 'BRAGAGNOLO CASTRO MARÍA EMILIA', '39242324', '"BRAGAGNOLO" near "CASTRO" near "MARÍA" near "EMILIA"'
*/
CREATE OR ALTER PROCEDURE dbo.RENAPER_COMPLETA_CUITS_FALTANTES
AS
BEGIN
SET NOCOUNT ON;
declare @dni varchar(8)
declare @nombre varchar(200)
declare @cuit varchar(11)
declare @cuits table (cuit varchar(20), nombre varchar(200))
declare @id bigint
DECLARE C_cursor CURSOR FOR
select upper(apellido) + ' ' + upper(nombres) as nombre,
ltrim(rtrim(dbo.fn_StripCharacters(dni, '^0-9/'))) as dni, id
from RENAPER_INFO
where nroError = 0 and ISNULL(cuil,'0') in ('','0') and dni is not null
-- and Id = 39408
declare @cant int = 0
declare @act int = 0
declare @nombre_contains varchar(500)
OPEN C_cursor
FETCH NEXT FROM C_cursor INTO @nombre, @dni, @id
WHILE @@fetch_status = 0
BEGIN
set @cant = @cant + 1
set @cuit = null
delete from @cuits
set @nombre_contains = (select REPLACE(@nombre,' ','" near "'))
set @nombre_contains = '"' + @nombre_contains + '"'
--select '"' + @nombre + '"' as nombre, '"' + @dni + '"' as dni, 'antes de sp_buscar_cuit' as leyenda
--select @nombre_contains return
insert into @cuits
exec [sp_buscar_cuit] @nombre, @dni, @nombre_contains
select top 1 @cuit = cuit from @cuits
if (@cuit is not null)
begin
set @act = @act + 1
update RENAPER_INFO set cuil = @cuit, identificacion = @cuit where id = @id
end
else
begin
select @nombre nombre, @dni dni, @id id
end
FETCH NEXT FROM C_cursor INTO @nombre, @dni, @id
END
CLOSE C_cursor
DEALLOCATE C_cursor
select @cant as procesados, @act as actualizados
END
GO
Depends On
3Used By
No items found