dbo.padrones

Description

Properties

Name Value
File Collation
File Group
Filestream File Group
Is Partitioned

False

Partitioned Column
Partition Scheme
File Groups
Filestream Partition Scheme
Filestream File Groups
Heap

True

Full Text Catalog PadronesFullText
Full Text XAK1padrones
Compression NONE
Row Count (~) 66701131
Created 10/1/2007 3:29:34 PM
Last Modified 11/27/2024 5:35:04 PM

Columns

20
Key Name Data Type Length Precision Scale Not Null Identity Rule Default Computed Persisted Description
numero varchar 50 0 0

True

False

False

nombre_persona varchar 200 0 0

False

False

False

tipo_persona varchar 1 0 0

False

False

False

identificador varchar 10 0 0

True

False

False

sexo varchar 1 0 0

False

False

False

id_padron int 4 10 0

True

1 - 1

False

False

identificacion varchar 50 0 0

False

False

False

pre_clave varchar 4 0 0

False

False

False

cuerpo_clave varchar 40 0 0

False

False

False

suf_clave varchar 4 0 0

False

False

False

habilitado bit 1 1 0

False

(1)

False

False

ismodified smalldatetime 4 16 0

False

(getdate())

False

False

iscreated smalldatetime 4 16 0

False

(getdate())

False

False

afip_activo bit 1 1 0

False

False

False

apellidos varchar 100 0 0

False

False

False

nombres varchar 100 0 0

False

False

False

apellido_2 varchar 100 0 0

False

False

False

nombre_2 varchar 100 0 0

False

False

False

modificado_por char 1 0 0

False

False

False

fecha_modificado_por datetime 8 23 3

False

False

False

Indexes

8
Key Name Columns Unique Type Description
_dta_index_padrones_7_693577509__K6_K4_K2_K1_K3_K5_K8_K9_K10 id_padron, identificador, nombre_persona, numero, tipo_persona, sexo, pre_clave, cuerpo_clave, suf_clave

False

IDX_ID_TRIB_CUERPO cuerpo_clave

False

IDX_identificacion identificacion

False

idx_monitoreos_padrones_nombre_persona identificacion

False

padrones_iden_hab identificacion, habilitado

False

PK__padrones__2A4B4B5E identificador, numero

True

XAK1padrones id_padron

True

XIE1padrones nombre_persona

False

Statistics

1
Name Columns
_dta_stat_693577509_2_6_4_1_3_5_8_9_10 nombre_persona, id_padron, identificador, numero, tipo_persona, sexo, pre_clave, cuerpo_clave, suf_clave

Triggers

4
Name ANSI Nulls ON Quoted Identifier ON On Not For Replication Description
tD_padrones

True

True

AFTER DELETE

False

tI_padrones

True

True

AFTER INSERT

False

TU_identificador_padrones

True

True

AFTER UPDATE

False

tU_padrones

True

True

AFTER UPDATE

False

Foreign Keys

1
Name Columns Description
FK__padrones__identi__6C190EBB identificador

SQL Script

Copy
CREATE TABLE dbo.padrones (
  numero varchar(50) NOT NULL,
  nombre_persona varchar(200) NULL,
  tipo_persona varchar(1) NULL,
  identificador varchar(10) NOT NULL,
  sexo varchar(1) NULL,
  id_padron int IDENTITY,
  identificacion varchar(50) NULL,
  pre_clave varchar(4) NULL,
  cuerpo_clave varchar(40) NULL,
  suf_clave varchar(4) NULL,
  habilitado bit NULL DEFAULT (1),
  ismodified smalldatetime NULL DEFAULT (getdate()),
  iscreated smalldatetime NULL DEFAULT (getdate()),
  afip_activo bit NULL,
  apellidos varchar(100) NULL,
  nombres varchar(100) NULL,
  apellido_2 varchar(100) NULL,
  nombre_2 varchar(100) NULL,
  modificado_por char(1) NULL,
  fecha_modificado_por datetime NULL,
  PRIMARY KEY NONCLUSTERED (identificador, numero) WITH (FILLFACTOR = 90)
)
ON [PRIMARY]
GO

CREATE INDEX _dta_index_padrones_7_693577509__K6_K4_K2_K1_K3_K5_K8_K9_K10
  ON dbo.padrones (id_padron, identificador, nombre_persona, numero, tipo_persona, sexo, pre_clave, cuerpo_clave, suf_clave)
  WITH (FILLFACTOR = 80)
  ON [PRIMARY]
GO

CREATE INDEX IDX_ID_TRIB_CUERPO
  ON dbo.padrones (cuerpo_clave)
  WITH (FILLFACTOR = 90)
  ON [PRIMARY]
GO

CREATE INDEX IDX_identificacion
  ON dbo.padrones (identificacion)
  WITH (FILLFACTOR = 90)
  ON [PRIMARY]
GO

CREATE INDEX idx_monitoreos_padrones_nombre_persona
  ON dbo.padrones (identificacion)
  INCLUDE (nombre_persona)
  WITH (FILLFACTOR = 80)
  ON [PRIMARY]
GO

CREATE INDEX padrones_iden_hab
  ON dbo.padrones (identificacion, habilitado)
  INCLUDE (nombre_persona)
  WITH (FILLFACTOR = 80)
  ON [PRIMARY]
GO

CREATE UNIQUE INDEX XAK1padrones
  ON dbo.padrones (id_padron)
  WITH (FILLFACTOR = 90)
  ON [PRIMARY]
GO

CREATE INDEX XIE1padrones
  ON dbo.padrones (nombre_persona)
  WITH (FILLFACTOR = 90)
  ON [PRIMARY]
GO

CREATE STATISTICS _dta_stat_693577509_2_6_4_1_3_5_8_9_10
  ON dbo.padrones (nombre_persona, id_padron, identificador, numero, tipo_persona, sexo, pre_clave, cuerpo_clave, suf_clave)
GO

SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
CREATE OR ALTER trigger dbo.tD_padrones on dbo.padrones for DELETE as
/* ERwin Builtin Mon Oct 01 10:32:44 2007 */
/* DELETE trigger on padrones */
begin
  declare  @errno   int,
           @errmsg  varchar(255)
    /* ERwin Builtin Mon Oct 01 10:32:44 2007 */
    /* padrones R/278 domicilios ON PARENT DELETE RESTRICT */
    /* ERWIN_RELATION:PARENT_OWNER="", PARENT_TABLE="padrones"
        CHILD_OWNER="", CHILD_TABLE="domicilios"
        P2C_VERB_PHRASE="R/278", C2P_VERB_PHRASE="", 
        FK_CONSTRAINT="R_278", FK_COLUMNS="identificador""numero" */

    if exists (
      select * from deleted,domicilios
      where
        /*  %JoinFKPK(domicilios,deleted," = "," and") */
        domicilios.identificador = deleted.identificador and
        domicilios.numero = deleted.numero
    )
    begin
      select @errno  = 30001,
             @errmsg = 'Cannot DELETE padrones because domicilios exists.'
      goto error
    end

    /* ERwin Builtin Mon Oct 01 10:32:44 2007 */
    /* padrones R/237 informes ON PARENT DELETE SET NULL */
    /* ERWIN_RELATION:PARENT_OWNER="", PARENT_TABLE="padrones"
        CHILD_OWNER="", CHILD_TABLE="informes"
        P2C_VERB_PHRASE="R/237", C2P_VERB_PHRASE="", 
        FK_CONSTRAINT="R_237", FK_COLUMNS="identificador""numero" */

    update informes
      set
        /* %SetFK(informes,NULL) */
        informes.identificador = NULL,
        informes.numero = NULL
      from informes,deleted
      where
        /* %JoinFKPK(informes,deleted," = "," and") */
        informes.identificador = deleted.identificador and
        informes.numero = deleted.numero


    /* ERwin Builtin Mon Oct 01 10:32:44 2007 */
    return
error:
    raiserror (@errmsg,@errno,1) 
    rollback transaction
end

GO
CREATE OR ALTER trigger dbo.tI_padrones on dbo.padrones for INSERT as
/* ERwin Builtin Mon Oct 01 10:32:44 2007 */
/* INSERT trigger on padrones */
begin
  declare  @numrows int,
           @nullcnt int,
           @validcnt int,
           @errno   int,
           @errmsg  varchar(255)

  select @numrows = @@rowcount
  /* ERwin Builtin Mon Oct 01 10:32:44 2007 */
  /* identificadores R/248 padrones ON CHILD INSERT RESTRICT */
  /* ERWIN_RELATION:PARENT_OWNER="", PARENT_TABLE="identificadores"
      CHILD_OWNER="", CHILD_TABLE="padrones"
      P2C_VERB_PHRASE="R/248", C2P_VERB_PHRASE="", 
      FK_CONSTRAINT="R_248", FK_COLUMNS="identificador" */

  if
    /* %ChildFK(" or",update) */
    update(identificador)
  begin
    select @nullcnt = 0
    select @validcnt = count(*)
      from inserted,identificadores
        where
          /* %JoinFKPK(inserted,identificadores) */
          inserted.identificador = identificadores.identificador
    /* %NotnullFK(inserted," is null","select @nullcnt = count(*) from inserted where"," and") */
    
    if @validcnt + @nullcnt != @numrows
    begin
      select @errno  = 30002,
             @errmsg = 'Cannot INSERT padrones because identificadores does not exist.'
      goto error
    end else begin
  
  update padrones SET
  identificacion = REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(inserted.numero, '-', ''), '/', ''), ' ', ''), '(', ''), ')', ''), '+', ''), '.', '')
  from padrones inner join inserted on
  (padrones.identificador = inserted.identificador AND
  padrones.numero = inserted.numero)

  declare @nro varchar(50)
  declare @ident varchar(30)

  select @nro = REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(inserted.numero, '-', ''), '/', ''), ' ', ''), '(', ''), ')', ''), '+', ''), '.', ''),
  @ident = inserted.identificador
  from inserted

  if( (@ident = 'CUIT' or @ident = 'CUIL') and len(@nro)=11) begin
   update padrones set
   pre_clave = Left(@nro,2),
   cuerpo_clave = Substring(@nro,3,8),
   suf_clave = right(@nro,1)
   from padrones inner join inserted on 
   (padrones.identificador = inserted.identificador AND
   padrones.numero = inserted.numero)
  end else begin
   update padrones set
   cuerpo_clave = @nro
   from padrones inner join inserted on 
   (padrones.identificador = inserted.identificador AND
   padrones.numero = inserted.numero)
  end

 end
  end


  /* ERwin Builtin Mon Oct 01 10:32:44 2007 */
  return
error:
    raiserror (@errmsg,@errno,1) 
    rollback transaction
end

GO
CREATE OR ALTER trigger dbo.TU_identificador_padrones on dbo.padrones 
FOR UPDATE as
BEGIN

 DECLARE
 @identificador_old varchar(10) = NULL,
 @identificacion_old varchar(50) = NULL,
 @habilitado_old  bit = null ,

 @identificador_new varchar(10) = NULL,
 @identificacion_new varchar(50) = NULL,
 @habilitado_new  bit = null ,

 @id_padron   bigint = NULL
 
 DECLARE C_Cursor CURSOR FOR
   select
     deleted.identificador,
     deleted.identificacion,
     deleted.habilitado, 
     inserted.identificador,
     inserted.identificacion,
     inserted.habilitado,
     inserted.id_padron
  from inserted 
  inner join deleted on inserted.id_padron = deleted.id_padron

 OPEN C_Cursor
 FETCH NEXT FROM C_Cursor INTO  @identificador_old,
         @identificacion_old,
         @habilitado_old, 
         @identificador_new,
         @identificacion_new,
         @habilitado_new,
         @id_padron  


 WHILE @@fetch_status = 0
 BEGIN
  if (((@identificador_old = 'CUIT' or @identificador_old = 'CUIL') and 
      (@identificador_new = 'CUIT' or @identificador_new = 'CUIL'))
     and @identificacion_old = @identificacion_new  
     and @habilitado_old = 1
     and @habilitado_new = 1)

  begin
   
   if exists (select * from informes 
               where numero = @identificacion_new 
        and identificador in ('CUIT','CUIL')
        and (identificador != @identificador_new or isnull(id_padron,0) != @id_padron)
        )
   begin
    update informes set identificador = @identificador_new, id_padron = @id_padron
     where identificador in ('CUIT','CUIL') and numero = @identificacion_new
   end 

   if exists (select * from IV_busquedas 
               where numero = @identificacion_new 
        and identificador in ('CUIT','CUIL')
        and (identificador != @identificador_new or isnull(id_padron,0) != @id_padron)
        )   
   begin
    update IV_busquedas set identificador = @identificador_new, id_padron = @id_padron
    where identificador in ('CUIT','CUIL') and numero = @identificacion_new
   end 
  end
  FETCH NEXT FROM C_Cursor INTO @identificador_old,
          @identificacion_old,
          @habilitado_old, 
          @identificador_new,
          @identificacion_new,
          @habilitado_new,
          @id_padron  
 END
 CLOSE C_Cursor
 DEALLOCATE C_Cursor 
END 

GO
/*
DROP trigger tU_padrones
*/


CREATE OR ALTER trigger dbo.tU_padrones on dbo.padrones for UPDATE as
begin
  declare  @numrows int,
           @nullcnt int,
           @validcnt int,
           @insidentificador varchar(10), 
           @insnumero varchar(50),
           @errno   int,
           @errmsg  varchar(255)
  select @numrows = @@rowcount
/*
  if
    update(identificador) or
    update(numero)
  begin
    if exists (
      select * from deleted,domicilios
      where
        domicilios.identificador = deleted.identificador and
        domicilios.numero = deleted.numero
    )
    begin
      select @errno  = 3005,
             @errmsg = 'Cannot UPDATE padrones because domicilios exists.'
      goto error
    end
  end


  if
    update(identificador) or
    update(numero)
  begin
    update informes
      set
        informes.identificador = NULL,
        informes.numero = NULL
      from informes,deleted
      where
        informes.identificador = deleted.identificador and
        informes.numero = deleted.numero
  end

 if
    update(identificador)
  begin
    select @nullcnt = 0
    select @validcnt = count(*)
      from inserted,identificadores
        where
          inserted.identificador = identificadores.identificador
    if @validcnt + @nullcnt != @numrows
    begin
      select @errno  = 3007,
             @errmsg = 'Cannot UPDATE padrones because identificadores does not exist.'
      goto error
    end
  end
*/

  return
error:
    raiserror (@errmsg,@errno,1) 
    rollback transaction
end
GO

ALTER TABLE dbo.padrones
  ADD FOREIGN KEY (identificador) REFERENCES dbo.identificadores (identificador)
GO

CREATE FULLTEXT INDEX
  ON dbo.padrones(numero LANGUAGE 3082, nombre_persona LANGUAGE 3082, identificacion LANGUAGE 3082, pre_clave LANGUAGE 3082, cuerpo_clave LANGUAGE 3082, suf_clave LANGUAGE 3082, apellidos LANGUAGE 3082, nombres LANGUAGE 3082, apellido_2 LANGUAGE 3082, nombre_2 LANGUAGE 3082)
  KEY INDEX XAK1padrones
  ON PadronesFullText
  WITH CHANGE_TRACKING AUTO, STOPLIST SYSTEM
GO

Used By

862