
create table examesindlab (
       fil_codigo           integer not null,
       lae_codigo           integer not null,
       inl_codigoexame      varchar(3) not null,
       inl_descricaoexame   varchar(150),
       inl_xml              text
);

create unique index xpkexamesindlab on examesindlab
(
       fil_codigo,
       lae_codigo,
       inl_codigoexame
);

create index xif1examesindlab on examesindlab
(
       fil_codigo,
       lae_codigo
);


alter table examesindlab
       add primary key (fil_codigo, lae_codigo, inl_codigoexame);


create table filialsmsagendamento (
       fil_codigo           integer not null,
       fsg_data             timestamp not null
);

create unique index xpkfilialsmsagendamento on filialsmsagendamento
(
       fil_codigo,
       fsg_data
);

create index xif1filialsmsagendamento on filialsmsagendamento
(
       fil_codigo
);


alter table filialsmsagendamento
       add primary key (fil_codigo, fsg_data);


create table fraseagendamentosms (
       fil_codigo           integer not null,
       frg_dias             integer not null,
       frg_mensagem         varchar(3000)
);

create unique index xpkfraseagendamentosms on fraseagendamentosms
(
       fil_codigo,
       frg_dias
);

create index xif1fraseagendamentosms on fraseagendamentosms
(
       fil_codigo
);


alter table fraseagendamentosms
       add primary key (fil_codigo, frg_dias);


create table setoresusuario (
       fil_codigo           integer not null,
       set_codigo           integer not null,
       usr_codigo           varchar(20) not null,
       seu_tipo             varchar(1)
);

create unique index xpksetoresusuario on setoresusuario
(
       fil_codigo,
       set_codigo,
       usr_codigo
);

create index xif1setoresusuario on setoresusuario
(
       fil_codigo,
       set_codigo
);

create index xif2setoresusuario on setoresusuario
(
       usr_codigo
);


alter table setoresusuario
       add primary key (fil_codigo, set_codigo, usr_codigo);


--drop function fn_ti_examesindlab() cascade;

create function fn_ti_examesindlab() returns opaque as '
declare
	numrows integer;
	tmp varchar;									 
begin
    select count(*) into numrows
      from labexterno
      where
        new.fil_codigo = labexterno.fil_codigo and
        new.lae_codigo = labexterno.lae_codigo;
    tmp:=''labexterno|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
      tmp:=tmp || ''lae_codigo='' || new.lae_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);

    if (
      
      numrows = 0
    ) then
      raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela labexterno. chave para consulta:[%]'',tmp using errcode=upper(''ifkne'');
    end if;


return new;
end;'
language 'plpgsql';
					
create trigger ti_examesindlab
after insert on examesindlab
for each row execute procedure fn_ti_examesindlab();


--drop function fn_tu_examesindlab() cascade;

create function fn_tu_examesindlab() returns opaque as '
declare
	numrows integer;
        tmp varchar;										 
begin
  select count(*) into numrows
    from labexterno
    where
      new.fil_codigo = labexterno.fil_codigo and
      new.lae_codigo = labexterno.lae_codigo;
    tmp:=''labexterno|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
      tmp:=tmp || ''lae_codigo='' || new.lae_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);
  if (
    
    numrows = 0
  ) then
    raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela labexterno. chave para consulta:[%]'',tmp using errcode=upper(''ufkne'');
  end if;


return old;
end;'
language 'plpgsql';
					
create trigger tu_examesindlab
after update on examesindlab
for each row execute procedure fn_tu_examesindlab();


drop function fn_td_filiais_postocoleta() cascade;

create function fn_td_filiais_postocoleta() returns opaque as '
declare
	numrows integer;										 
begin
    select count(*) into numrows
      from fraseagendamentosms
      where
        fraseagendamentosms.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela fraseagendamentosms.'';
    end if;

    delete from filialsmsagendamento
      where
        filialsmsagendamento.fil_codigo = old.fil_codigo;

    select count(*) into numrows
      from historicoregistrocontato
      where
        historicoregistrocontato.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela historicoregistrocontato.'';
    end if;

    select count(*) into numrows
      from motivocontato
      where
        motivocontato.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela motivocontato.'';
    end if;

    select count(*) into numrows
      from termoconsentimento
      where
        termoconsentimento.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela termoconsentimento.'';
    end if;

    select count(*) into numrows
      from lotefilial
      where
        lotefilial.fil_coddestino = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela lotefilial.'';
    end if;

    select count(*) into numrows
      from preagendamento
      where
        preagendamento.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela preagendamento.'';
    end if;

    select count(*) into numrows
      from integracaosave
      where
        integracaosave.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela integracaosave.'';
    end if;

    select count(*) into numrows
      from paciente
      where
        paciente.fil_codorigem = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela paciente.'';
    end if;

    select count(*) into numrows
      from logpushapp
      where
        logpushapp.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela logpushapp.'';
    end if;

    select count(*) into numrows
      from motivorecoleta
      where
        motivorecoleta.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela motivorecoleta.'';
    end if;

    delete from logvalidalote
      where
        logvalidalote.fil_codigo = old.fil_codigo;

    select count(*) into numrows
      from ambbpa
      where
        ambbpa.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela ambbpa.'';
    end if;

    select count(*) into numrows
      from categoriaprodutoalimentos
      where
        categoriaprodutoalimentos.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela categoriaprodutoalimentos.'';
    end if;

    delete from responsavelcertificado
      where
        responsavelcertificado.fil_codigo = old.fil_codigo;

    select count(*) into numrows
      from origemnaoconformidade
      where
        origemnaoconformidade.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela origemnaoconformidade.'';
    end if;

    select count(*) into numrows
      from filialemailaniversario
      where
        filialemailaniversario.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela filialemailaniversario.'';
    end if;

    select count(*) into numrows
      from filialsmsaniversario
      where
        filialsmsaniversario.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela filialsmsaniversario.'';
    end if;

    select count(*) into numrows
      from logemail
      where
        logemail.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela logemail.'';
    end if;

    delete from filialsmsresumo
      where
        filialsmsresumo.fil_codigo = old.fil_codigo;

    select count(*) into numrows
      from lanctocaixa
      where
        lanctocaixa.fil_codentrefilial = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela lanctocaixa.'';
    end if;

    select count(*) into numrows
      from lotefilial
      where
        lotefilial.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela lotefilial.'';
    end if;

    select count(*) into numrows
      from taxa
      where
        taxa.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela taxa.'';
    end if;

    select count(*) into numrows
      from logoffline
      where
        logoffline.fil_coddestino = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela logoffline.'';
    end if;

    select count(*) into numrows
      from logoffline
      where
        logoffline.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela logoffline.'';
    end if;

    select count(*) into numrows
      from pais
      where
        pais.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela pais.'';
    end if;

    select count(*) into numrows
      from logsms
      where
        logsms.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela logsms.'';
    end if;

    select count(*) into numrows
      from naoconformidade
      where
        naoconformidade.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela naoconformidade.'';
    end if;

    select count(*) into numrows
      from acaonaoconformidade
      where
        acaonaoconformidade.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela acaonaoconformidade.'';
    end if;

    select count(*) into numrows
      from procedencianaoconformidade
      where
        procedencianaoconformidade.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela procedencianaoconformidade.'';
    end if;

    select count(*) into numrows
      from banhomaria
      where
        banhomaria.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela banhomaria.'';
    end if;

    select count(*) into numrows
      from identificadorlamina
      where
        identificadorlamina.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela identificadorlamina.'';
    end if;

    select count(*) into numrows
      from materiallote
      where
        materiallote.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela materiallote.'';
    end if;

    select count(*) into numrows
      from examerequisicaohash
      where
        examerequisicaohash.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicaohash.'';
    end if;

    select count(*) into numrows
      from motivoalteracao
      where
        motivoalteracao.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela motivoalteracao.'';
    end if;

    select count(*) into numrows
      from tipomaterialcoleta
      where
        tipomaterialcoleta.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela tipomaterialcoleta.'';
    end if;

    select count(*) into numrows
      from salaatendimento
      where
        salaatendimento.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela salaatendimento.'';
    end if;

    select count(*) into numrows
      from agendamento
      where
        agendamento.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela agendamento.'';
    end if;

    select count(*) into numrows
      from requisicaoweb
      where
        requisicaoweb.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela requisicaoweb.'';
    end if;

    select count(*) into numrows
      from lanctoestoquecmc
      where
        lanctoestoquecmc.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela lanctoestoquecmc.'';
    end if;

    select count(*) into numrows
      from lanctoestoqueueps
      where
        lanctoestoqueueps.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela lanctoestoqueueps.'';
    end if;

    select count(*) into numrows
      from lanctoestoquepeps
      where
        lanctoestoquepeps.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela lanctoestoquepeps.'';
    end if;

    select count(*) into numrows
      from contrassenharequisicao
      where
        contrassenharequisicao.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela contrassenharequisicao.'';
    end if;

    select count(*) into numrows
      from solicitarsoroteca
      where
        solicitarsoroteca.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela solicitarsoroteca.'';
    end if;

    select count(*) into numrows
      from exportaintegracaohospital
      where
        exportaintegracaohospital.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela exportaintegracaohospital.'';
    end if;

    select count(*) into numrows
      from examerequisicaohistoricolaudo
      where
        examerequisicaohistoricolaudo.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicaohistoricolaudo.'';
    end if;

    select count(*) into numrows
      from examerequisicaosetor
      where
        examerequisicaosetor.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicaosetor.'';
    end if;

    select count(*) into numrows
      from materialenviado
      where
        materialenviado.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela materialenviado.'';
    end if;

    select count(*) into numrows
      from rota
      where
        rota.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela rota.'';
    end if;

    select count(*) into numrows
      from montagemkit
      where
        montagemkit.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela montagemkit.'';
    end if;

    select count(*) into numrows
      from transfestoque
      where
        transfestoque.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela transfestoque.'';
    end if;

    select count(*) into numrows
      from orcamento
      where
        orcamento.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela orcamento.'';
    end if;

    select count(*) into numrows
      from estoquemanual
      where
        estoquemanual.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela estoquemanual.'';
    end if;

    select count(*) into numrows
      from requisicaoestoque
      where
        requisicaoestoque.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela requisicaoestoque.'';
    end if;

    select count(*) into numrows
      from conferenciaestoque
      where
        conferenciaestoque.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela conferenciaestoque.'';
    end if;

    select count(*) into numrows
      from lanctoestoque
      where
        lanctoestoque.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela lanctoestoque.'';
    end if;

    select count(*) into numrows
      from conferenciaentrada
      where
        conferenciaentrada.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela conferenciaentrada.'';
    end if;

    select count(*) into numrows
      from pedido
      where
        pedido.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela pedido.'';
    end if;

    select count(*) into numrows
      from cotacao
      where
        cotacao.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela cotacao.'';
    end if;

    select count(*) into numrows
      from cfop
      where
        cfop.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela cfop.'';
    end if;

    select count(*) into numrows
      from celulaestoque
      where
        celulaestoque.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela celulaestoque.'';
    end if;

    select count(*) into numrows
      from unidadesaude
      where
        unidadesaude.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela unidadesaude.'';
    end if;

    select count(*) into numrows
      from estantes
      where
        estantes.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela estantes.'';
    end if;

    select count(*) into numrows
      from geladeiras
      where
        geladeiras.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela geladeiras.'';
    end if;

    delete from usuariofilial
      where
        usuariofilial.fil_codigo = old.fil_codigo;

    select count(*) into numrows
      from origemplanocusto
      where
        origemplanocusto.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela origemplanocusto.'';
    end if;

    select count(*) into numrows
      from filialimposto
      where
        filialimposto.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela filialimposto.'';
    end if;

    select count(*) into numrows
      from embalagemproduto
      where
        embalagemproduto.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela embalagemproduto.'';
    end if;

    select count(*) into numrows
      from notafiscal
      where
        notafiscal.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela notafiscal.'';
    end if;

    select count(*) into numrows
      from servico
      where
        servico.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela servico.'';
    end if;

    select count(*) into numrows
      from baixa
      where
        baixa.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela baixa.'';
    end if;

    select count(*) into numrows
      from receberpagar
      where
        receberpagar.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela receberpagar.'';
    end if;

    select count(*) into numrows
      from entidade
      where
        entidade.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela entidade.'';
    end if;

    select count(*) into numrows
      from motivoscancelamentos
      where
        motivoscancelamentos.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela motivoscancelamentos.'';
    end if;

    select count(*) into numrows
      from formapagto
      where
        formapagto.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela formapagto.'';
    end if;

    select count(*) into numrows
      from especie
      where
        especie.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela especie.'';
    end if;

    select count(*) into numrows
      from series
      where
        series.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela series.'';
    end if;

    delete from filiaisweb
      where
        filiaisweb.fil_kodigo = old.fil_codigo;

    delete from filiaisweb
      where
        filiaisweb.fil_codigo = old.fil_codigo;

    select count(*) into numrows
      from labexterno
      where
        labexterno.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela labexterno.'';
    end if;

    select count(*) into numrows
      from loteexterno
      where
        loteexterno.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela loteexterno.'';
    end if;

    select count(*) into numrows
      from log
      where
        log.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela log.'';
    end if;

    select count(*) into numrows
      from alahospital
      where
        alahospital.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela alahospital.'';
    end if;

    select count(*) into numrows
      from loteapoio
      where
        loteapoio.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela loteapoio.'';
    end if;

    select count(*) into numrows
      from exportaapoio
      where
        exportaapoio.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela exportaapoio.'';
    end if;

    select count(*) into numrows
      from exportafiliais
      where
        exportafiliais.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela exportafiliais.'';
    end if;

    select count(*) into numrows
      from requisicao
      where
        requisicao.fil_codcopia = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela requisicao.'';
    end if;

    select count(*) into numrows
      from filiaisexamesexportar
      where
        filiaisexamesexportar.fil_coddestino = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela filiaisexamesexportar.'';
    end if;

    select count(*) into numrows
      from contrasenha
      where
        contrasenha.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela contrasenha.'';
    end if;

    select count(*) into numrows
      from exportaweb
      where
        exportaweb.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela exportaweb.'';
    end if;

    select count(*) into numrows
      from interface
      where
        interface.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela interface.'';
    end if;

    select count(*) into numrows
      from banco
      where
        banco.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela banco.'';
    end if;

    select count(*) into numrows
      from agencia
      where
        agencia.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela agencia.'';
    end if;

    select count(*) into numrows
      from historicopadrao
      where
        historicopadrao.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela historicopadrao.'';
    end if;

    select count(*) into numrows
      from prioridade
      where
        prioridade.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela prioridade.'';
    end if;

    select count(*) into numrows
      from destino
      where
        destino.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela destino.'';
    end if;

    select count(*) into numrows
      from grupo
      where
        grupo.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela grupo.'';
    end if;

    select count(*) into numrows
      from feriados
      where
        feriados.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela feriados.'';
    end if;

    select count(*) into numrows
      from especialidades
      where
        especialidades.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela especialidades.'';
    end if;

    select count(*) into numrows
      from coletas
      where
        coletas.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela coletas.'';
    end if;

    select count(*) into numrows
      from tabelaprecoexames
      where
        tabelaprecoexames.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela tabelaprecoexames.'';
    end if;

    select count(*) into numrows
      from tipomaterial
      where
        tipomaterial.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela tipomaterial.'';
    end if;

    select count(*) into numrows
      from unidademedida
      where
        unidademedida.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela unidademedida.'';
    end if;

    select count(*) into numrows
      from situacao
      where
        situacao.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela situacao.'';
    end if;

    select count(*) into numrows
      from principios
      where
        principios.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela principios.'';
    end if;

    select count(*) into numrows
      from medicamentos
      where
        medicamentos.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela medicamentos.'';
    end if;

    select count(*) into numrows
      from layout
      where
        layout.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela layout.'';
    end if;

    select count(*) into numrows
      from metodologia
      where
        metodologia.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela metodologia.'';
    end if;

    select count(*) into numrows
      from recipientes
      where
        recipientes.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela recipientes.'';
    end if;

    select count(*) into numrows
      from cidades
      where
        cidades.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela cidades.'';
    end if;

    select count(*) into numrows
      from bairro
      where
        bairro.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela bairro.'';
    end if;

    select count(*) into numrows
      from materialcoleta
      where
        materialcoleta.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela materialcoleta.'';
    end if;

    select count(*) into numrows
      from prazoentrega
      where
        prazoentrega.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela prazoentrega.'';
    end if;

    select count(*) into numrows
      from historicos
      where
        historicos.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela historicos.'';
    end if;

    select count(*) into numrows
      from lanctocaixa
      where
        lanctocaixa.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela lanctocaixa.'';
    end if;

    select count(*) into numrows
      from centrocusto
      where
        centrocusto.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela centrocusto.'';
    end if;

    select count(*) into numrows
      from planoconta
      where
        planoconta.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela planoconta.'';
    end if;

    select count(*) into numrows
      from contacorrente
      where
        contacorrente.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela contacorrente.'';
    end if;

    select count(*) into numrows
      from material
      where
        material.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela material.'';
    end if;

    select count(*) into numrows
      from requisicao
      where
        requisicao.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela requisicao.'';
    end if;

    select count(*) into numrows
      from medico
      where
        medico.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela medico.'';
    end if;

    select count(*) into numrows
      from convenios
      where
        convenios.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela convenios.'';
    end if;

    delete from exames
      where
        exames.fil_codigo = old.fil_codigo;

    select count(*) into numrows
      from fatura
      where
        fatura.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela fatura.'';
    end if;

    select count(*) into numrows
      from setores
      where
        setores.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela setores.'';
    end if;

    select count(*) into numrows
      from paciente
      where
        paciente.fil_codigo = old.fil_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela paciente.'';
    end if;


return old;
end;'
language 'plpgsql';
					
create trigger td_filiais_postocoleta
after delete on filiais_postocoleta
for each row execute procedure fn_td_filiais_postocoleta();


drop function fn_ti_filiais_postocoleta() cascade;

create function fn_ti_filiais_postocoleta() returns opaque as '
declare
	numrows integer;
	tmp varchar;									 
begin
    select count(*) into numrows
      from labexterno
      where
        new.fil_codigo = labexterno.fil_codigo and
        new.lae_codigo = labexterno.lae_codigo;
    tmp:=''labexterno|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
      tmp:=tmp || ''lae_codigo='' || new.lae_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);

    if (
      new.fil_codigo is not null and
      new.lae_codigo is not null and
      numrows = 0
    ) then
      raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela labexterno. chave para consulta:[%]'',tmp using errcode=upper(''ifkne'');
    end if;

    select count(*) into numrows
      from usuario
      where
        new.usr_codcompras = usuario.usr_codigo;
    tmp:=''usuario|'';
    
      tmp:=tmp || ''usr_codigo='' || new.usr_codcompras || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);

    if (
      new.usr_codcompras is not null and
      numrows = 0
    ) then
      raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne'');
    end if;

    select count(*) into numrows
      from usuario
      where
        new.usr_codestoque = usuario.usr_codigo;
    tmp:=''usuario|'';
    
      tmp:=tmp || ''usr_codigo='' || new.usr_codestoque || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);

    if (
      new.usr_codestoque is not null and
      numrows = 0
    ) then
      raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne'');
    end if;

    select count(*) into numrows
      from bairro
      where
        new.fil_codigo = bairro.fil_codigo and
        new.bai_codigo = bairro.bai_codigo;
    tmp:=''bairro|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
      tmp:=tmp || ''bai_codigo='' || new.bai_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);

    if (
      new.fil_codigo is not null and
      new.bai_codigo is not null and
      numrows = 0
    ) then
      raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela bairro. chave para consulta:[%]'',tmp using errcode=upper(''ifkne'');
    end if;

    select count(*) into numrows
      from cidades
      where
        new.fil_codigo = cidades.fil_codigo and
        new.cid_codigo = cidades.cid_codigo;
    tmp:=''cidades|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
      tmp:=tmp || ''cid_codigo='' || new.cid_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);

    if (
      new.fil_codigo is not null and
      new.cid_codigo is not null and
      numrows = 0
    ) then
      raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela cidades. chave para consulta:[%]'',tmp using errcode=upper(''ifkne'');
    end if;


return new;
end;'
language 'plpgsql';
					
create trigger ti_filiais_postocoleta
after insert on filiais_postocoleta
for each row execute procedure fn_ti_filiais_postocoleta();


drop function fn_tu_filiais_postocoleta() cascade;

create function fn_tu_filiais_postocoleta() returns opaque as '
declare
	numrows integer;
        tmp varchar;										 
begin
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from fraseagendamentosms
      where
        fraseagendamentosms.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela fraseagendamentosms.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from filialsmsagendamento
      where
        filialsmsagendamento.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela filialsmsagendamento.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from historicoregistrocontato
      where
        historicoregistrocontato.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela historicoregistrocontato.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from motivocontato
      where
        motivocontato.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela motivocontato.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from termoconsentimento
      where
        termoconsentimento.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela termoconsentimento.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from lotefilial
      where
        lotefilial.fil_coddestino = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela lotefilial.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from preagendamento
      where
        preagendamento.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela preagendamento.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from integracaosave
      where
        integracaosave.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela integracaosave.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from paciente
      where
        paciente.fil_codorigem = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela paciente.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from logpushapp
      where
        logpushapp.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela logpushapp.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from motivorecoleta
      where
        motivorecoleta.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela motivorecoleta.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from logvalidalote
      where
        logvalidalote.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela logvalidalote.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from ambbpa
      where
        ambbpa.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela ambbpa.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from categoriaprodutoalimentos
      where
        categoriaprodutoalimentos.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela categoriaprodutoalimentos.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from responsavelcertificado
      where
        responsavelcertificado.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela responsavelcertificado.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from origemnaoconformidade
      where
        origemnaoconformidade.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela origemnaoconformidade.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from filialemailaniversario
      where
        filialemailaniversario.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela filialemailaniversario.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from filialsmsaniversario
      where
        filialsmsaniversario.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela filialsmsaniversario.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from logemail
      where
        logemail.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela logemail.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from filialsmsresumo
      where
        filialsmsresumo.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela filialsmsresumo.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from lanctocaixa
      where
        lanctocaixa.fil_codentrefilial = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela lanctocaixa.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from lotefilial
      where
        lotefilial.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela lotefilial.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from taxa
      where
        taxa.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela taxa.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from logoffline
      where
        logoffline.fil_coddestino = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela logoffline.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from logoffline
      where
        logoffline.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela logoffline.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from pais
      where
        pais.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela pais.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from logsms
      where
        logsms.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela logsms.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from naoconformidade
      where
        naoconformidade.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela naoconformidade.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from acaonaoconformidade
      where
        acaonaoconformidade.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela acaonaoconformidade.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from procedencianaoconformidade
      where
        procedencianaoconformidade.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela procedencianaoconformidade.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from banhomaria
      where
        banhomaria.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela banhomaria.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from identificadorlamina
      where
        identificadorlamina.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela identificadorlamina.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from materiallote
      where
        materiallote.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela materiallote.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from examerequisicaohash
      where
        examerequisicaohash.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicaohash.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from motivoalteracao
      where
        motivoalteracao.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela motivoalteracao.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from tipomaterialcoleta
      where
        tipomaterialcoleta.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela tipomaterialcoleta.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from salaatendimento
      where
        salaatendimento.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela salaatendimento.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from agendamento
      where
        agendamento.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela agendamento.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from requisicaoweb
      where
        requisicaoweb.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela requisicaoweb.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from lanctoestoquecmc
      where
        lanctoestoquecmc.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela lanctoestoquecmc.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from lanctoestoqueueps
      where
        lanctoestoqueueps.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela lanctoestoqueueps.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from lanctoestoquepeps
      where
        lanctoestoquepeps.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela lanctoestoquepeps.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from contrassenharequisicao
      where
        contrassenharequisicao.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela contrassenharequisicao.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from solicitarsoroteca
      where
        solicitarsoroteca.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela solicitarsoroteca.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from exportaintegracaohospital
      where
        exportaintegracaohospital.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela exportaintegracaohospital.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from examerequisicaohistoricolaudo
      where
        examerequisicaohistoricolaudo.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicaohistoricolaudo.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from examerequisicaosetor
      where
        examerequisicaosetor.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicaosetor.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from materialenviado
      where
        materialenviado.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela materialenviado.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from rota
      where
        rota.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela rota.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from montagemkit
      where
        montagemkit.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela montagemkit.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from transfestoque
      where
        transfestoque.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela transfestoque.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from orcamento
      where
        orcamento.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela orcamento.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from estoquemanual
      where
        estoquemanual.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela estoquemanual.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from requisicaoestoque
      where
        requisicaoestoque.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela requisicaoestoque.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from conferenciaestoque
      where
        conferenciaestoque.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela conferenciaestoque.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from lanctoestoque
      where
        lanctoestoque.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela lanctoestoque.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from conferenciaentrada
      where
        conferenciaentrada.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela conferenciaentrada.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from pedido
      where
        pedido.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela pedido.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from cotacao
      where
        cotacao.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela cotacao.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from cfop
      where
        cfop.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela cfop.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from celulaestoque
      where
        celulaestoque.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela celulaestoque.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from unidadesaude
      where
        unidadesaude.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela unidadesaude.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from estantes
      where
        estantes.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela estantes.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from geladeiras
      where
        geladeiras.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela geladeiras.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from origemplanocusto
      where
        origemplanocusto.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela origemplanocusto.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from filialimposto
      where
        filialimposto.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela filialimposto.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from embalagemproduto
      where
        embalagemproduto.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela embalagemproduto.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from notafiscal
      where
        notafiscal.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela notafiscal.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from servico
      where
        servico.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela servico.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from baixa
      where
        baixa.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela baixa.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from receberpagar
      where
        receberpagar.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela receberpagar.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from entidade
      where
        entidade.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela entidade.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from motivoscancelamentos
      where
        motivoscancelamentos.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela motivoscancelamentos.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from formapagto
      where
        formapagto.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela formapagto.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from especie
      where
        especie.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela especie.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from series
      where
        series.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela series.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from filiaisweb
      where
        filiaisweb.fil_kodigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela filiaisweb.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from filiaisweb
      where
        filiaisweb.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela filiaisweb.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from labexterno
      where
        labexterno.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela labexterno.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from loteexterno
      where
        loteexterno.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela loteexterno.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from log
      where
        log.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela log.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from alahospital
      where
        alahospital.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela alahospital.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from loteapoio
      where
        loteapoio.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela loteapoio.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from exportaapoio
      where
        exportaapoio.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela exportaapoio.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from exportafiliais
      where
        exportafiliais.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela exportafiliais.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from requisicao
      where
        requisicao.fil_codcopia = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela requisicao.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from filiaisexamesexportar
      where
        filiaisexamesexportar.fil_coddestino = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela filiaisexamesexportar.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from contrasenha
      where
        contrasenha.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela contrasenha.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from exportaweb
      where
        exportaweb.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela exportaweb.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from interface
      where
        interface.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela interface.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from banco
      where
        banco.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela banco.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from agencia
      where
        agencia.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela agencia.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from historicopadrao
      where
        historicopadrao.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela historicopadrao.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from prioridade
      where
        prioridade.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela prioridade.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from destino
      where
        destino.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela destino.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from grupo
      where
        grupo.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela grupo.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from feriados
      where
        feriados.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela feriados.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from especialidades
      where
        especialidades.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela especialidades.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from coletas
      where
        coletas.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela coletas.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from tabelaprecoexames
      where
        tabelaprecoexames.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela tabelaprecoexames.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from tipomaterial
      where
        tipomaterial.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela tipomaterial.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from unidademedida
      where
        unidademedida.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela unidademedida.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from situacao
      where
        situacao.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela situacao.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from principios
      where
        principios.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela principios.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from medicamentos
      where
        medicamentos.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela medicamentos.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from layout
      where
        layout.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela layout.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from metodologia
      where
        metodologia.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela metodologia.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from recipientes
      where
        recipientes.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela recipientes.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from cidades
      where
        cidades.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela cidades.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from bairro
      where
        bairro.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela bairro.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from materialcoleta
      where
        materialcoleta.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela materialcoleta.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from prazoentrega
      where
        prazoentrega.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela prazoentrega.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from historicos
      where
        historicos.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela historicos.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from lanctocaixa
      where
        lanctocaixa.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela lanctocaixa.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from centrocusto
      where
        centrocusto.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela centrocusto.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from planoconta
      where
        planoconta.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela planoconta.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from contacorrente
      where
        contacorrente.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela contacorrente.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from material
      where
        material.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela material.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from requisicao
      where
        requisicao.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela requisicao.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from medico
      where
        medico.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela medico.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from convenios
      where
        convenios.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela convenios.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from exames
      where
        exames.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela exames.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from fatura
      where
        fatura.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela fatura.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from setores
      where
        setores.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela setores.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo) then
    select count(*)
      from paciente
      where
        paciente.fil_codigo = old.fil_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela paciente.'';
    end if;
  end if;
  select count(*) into numrows
    from labexterno
    where
      new.fil_codigo = labexterno.fil_codigo and
      new.lae_codigo = labexterno.lae_codigo;
    tmp:=''labexterno|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
      tmp:=tmp || ''lae_codigo='' || new.lae_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);
  if (
    new.fil_codigo is not null and
    new.lae_codigo is not null and
    numrows = 0
  ) then
    raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela labexterno. chave para consulta:[%]'',tmp using errcode=upper(''ufkne'');
  end if;

  select count(*) into numrows
    from usuario
    where
      new.usr_codcompras = usuario.usr_codigo;
    tmp:=''usuario|'';
    
      tmp:=tmp || ''usr_codigo='' || new.usr_codcompras || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);
  if (
    new.usr_codcompras is not null and
    numrows = 0
  ) then
    raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne'');
  end if;

  select count(*) into numrows
    from usuario
    where
      new.usr_codestoque = usuario.usr_codigo;
    tmp:=''usuario|'';
    
      tmp:=tmp || ''usr_codigo='' || new.usr_codestoque || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);
  if (
    new.usr_codestoque is not null and
    numrows = 0
  ) then
    raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne'');
  end if;

  select count(*) into numrows
    from bairro
    where
      new.fil_codigo = bairro.fil_codigo and
      new.bai_codigo = bairro.bai_codigo;
    tmp:=''bairro|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
      tmp:=tmp || ''bai_codigo='' || new.bai_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);
  if (
    new.fil_codigo is not null and
    new.bai_codigo is not null and
    numrows = 0
  ) then
    raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela bairro. chave para consulta:[%]'',tmp using errcode=upper(''ufkne'');
  end if;

  select count(*) into numrows
    from cidades
    where
      new.fil_codigo = cidades.fil_codigo and
      new.cid_codigo = cidades.cid_codigo;
    tmp:=''cidades|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
      tmp:=tmp || ''cid_codigo='' || new.cid_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);
  if (
    new.fil_codigo is not null and
    new.cid_codigo is not null and
    numrows = 0
  ) then
    raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela cidades. chave para consulta:[%]'',tmp using errcode=upper(''ufkne'');
  end if;


return old;
end;'
language 'plpgsql';
					
create trigger tu_filiais_postocoleta
after update on filiais_postocoleta
for each row execute procedure fn_tu_filiais_postocoleta();


--drop function fn_ti_filialsmsagendamento() cascade;

create function fn_ti_filialsmsagendamento() returns opaque as '
declare
	numrows integer;
	tmp varchar;									 
begin
    select count(*) into numrows
      from filiais_postocoleta
      where
        new.fil_codigo = filiais_postocoleta.fil_codigo;
    tmp:=''filiais_postocoleta|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);

    if (
      
      numrows = 0
    ) then
      raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela filiais_postocoleta. chave para consulta:[%]'',tmp using errcode=upper(''ifkne'');
    end if;


return new;
end;'
language 'plpgsql';
					
create trigger ti_filialsmsagendamento
after insert on filialsmsagendamento
for each row execute procedure fn_ti_filialsmsagendamento();


--drop function fn_tu_filialsmsagendamento() cascade;

create function fn_tu_filialsmsagendamento() returns opaque as '
declare
	numrows integer;
        tmp varchar;										 
begin
  select count(*) into numrows
    from filiais_postocoleta
    where
      new.fil_codigo = filiais_postocoleta.fil_codigo;
    tmp:=''filiais_postocoleta|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);
  if (
    
    numrows = 0
  ) then
    raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela filiais_postocoleta. chave para consulta:[%]'',tmp using errcode=upper(''ufkne'');
  end if;


return old;
end;'
language 'plpgsql';
					
create trigger tu_filialsmsagendamento
after update on filialsmsagendamento
for each row execute procedure fn_tu_filialsmsagendamento();


--drop function fn_ti_fraseagendamentosms() cascade;

create function fn_ti_fraseagendamentosms() returns opaque as '
declare
	numrows integer;
	tmp varchar;									 
begin
    select count(*) into numrows
      from filiais_postocoleta
      where
        new.fil_codigo = filiais_postocoleta.fil_codigo;
    tmp:=''filiais_postocoleta|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);

    if (
      
      numrows = 0
    ) then
      raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela filiais_postocoleta. chave para consulta:[%]'',tmp using errcode=upper(''ifkne'');
    end if;


return new;
end;'
language 'plpgsql';
					
create trigger ti_fraseagendamentosms
after insert on fraseagendamentosms
for each row execute procedure fn_ti_fraseagendamentosms();


--drop function fn_tu_fraseagendamentosms() cascade;

create function fn_tu_fraseagendamentosms() returns opaque as '
declare
	numrows integer;
        tmp varchar;										 
begin
  select count(*) into numrows
    from filiais_postocoleta
    where
      new.fil_codigo = filiais_postocoleta.fil_codigo;
    tmp:=''filiais_postocoleta|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);
  if (
    
    numrows = 0
  ) then
    raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela filiais_postocoleta. chave para consulta:[%]'',tmp using errcode=upper(''ufkne'');
  end if;


return old;
end;'
language 'plpgsql';
					
create trigger tu_fraseagendamentosms
after update on fraseagendamentosms
for each row execute procedure fn_tu_fraseagendamentosms();


drop function fn_td_labexterno() cascade;

create function fn_td_labexterno() returns opaque as '
declare
	numrows integer;										 
begin
    delete from examesindlab
      where
        examesindlab.fil_codigo = old.fil_codigo and
        examesindlab.lae_codigo = old.lae_codigo;

    select count(*) into numrows
      from convenios
      where
        convenios.fil_codigo = old.fil_codigo and
        convenios.lae_codigo = old.lae_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela convenios.'';
    end if;

    select count(*) into numrows
      from materialalvaro
      where
        materialalvaro.fil_codigo = old.fil_codigo and
        materialalvaro.lae_codigo = old.lae_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela materialalvaro.'';
    end if;

    delete from labexternolotepardini
      where
        labexternolotepardini.fil_codigo = old.fil_codigo and
        labexternolotepardini.lae_codigo = old.lae_codigo;

    delete from labexternologintegracao
      where
        labexternologintegracao.fil_codigo = old.fil_codigo and
        labexternologintegracao.lae_codigo = old.lae_codigo;

    delete from labexternoversaotermo
      where
        labexternoversaotermo.fil_codigo = old.fil_codigo and
        labexternoversaotermo.lae_codigo = old.lae_codigo;

    select count(*) into numrows
      from examessaomarcos
      where
        examessaomarcos.fil_codigo = old.fil_codigo and
        examessaomarcos.lae_codigo = old.lae_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examessaomarcos.'';
    end if;

    delete from examessyslab
      where
        examessyslab.fil_codigo = old.fil_codigo and
        examessyslab.lae_codigo = old.lae_codigo;

    delete from examesunilab
      where
        examesunilab.fil_codigo = old.fil_codigo and
        examesunilab.lae_codigo = old.lae_codigo;

    select count(*) into numrows
      from filiais_postocoleta
      where
        filiais_postocoleta.fil_codigo = old.fil_codigo and
        filiais_postocoleta.lae_codigo = old.lae_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela filiais_postocoleta.'';
    end if;

    delete from logimportacaolabexterno
      where
        logimportacaolabexterno.fil_codigo = old.fil_codigo and
        logimportacaolabexterno.lae_codigo = old.lae_codigo;

    select count(*) into numrows
      from examessolucao
      where
        examessolucao.fil_codigo = old.fil_codigo and
        examessolucao.lae_codigo = old.lae_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examessolucao.'';
    end if;

    select count(*) into numrows
      from examesdb
      where
        examesdb.fil_codigo = old.fil_codigo and
        examesdb.lae_codigo = old.lae_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examesdb.'';
    end if;

    delete from examesatitude
      where
        examesatitude.fil_codigo = old.fil_codigo and
        examesatitude.lae_codigo = old.lae_codigo;

    delete from examesbalague
      where
        examesbalague.fil_codigo = old.fil_codigo and
        examesbalague.lae_codigo = old.lae_codigo;

    delete from examesdelta
      where
        examesdelta.fil_codigo = old.fil_codigo and
        examesdelta.lae_codigo = old.lae_codigo;

    select count(*) into numrows
      from examematcoletalabexterno
      where
        examematcoletalabexterno.fil_codigo = old.fil_codigo and
        examematcoletalabexterno.lae_codigo = old.lae_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examematcoletalabexterno.'';
    end if;

    select count(*) into numrows
      from examesmatrix
      where
        examesmatrix.fil_codigo = old.fil_codigo and
        examesmatrix.lae_codigo = old.lae_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examesmatrix.'';
    end if;

    select count(*) into numrows
      from examesrede
      where
        examesrede.fil_codigo = old.fil_codigo and
        examesrede.lae_codigo = old.lae_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examesrede.'';
    end if;

    delete from examesreacao
      where
        examesreacao.fil_codigo = old.fil_codigo and
        examesreacao.lae_codigo = old.lae_codigo;

    select count(*) into numrows
      from pacientelabexterno
      where
        pacientelabexterno.fil_codigo = old.fil_codigo and
        pacientelabexterno.lae_codigo = old.lae_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela pacientelabexterno.'';
    end if;

    select count(*) into numrows
      from requisicaolabexterno
      where
        requisicaolabexterno.fil_codigo = old.fil_codigo and
        requisicaolabexterno.lae_codigo = old.lae_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela requisicaolabexterno.'';
    end if;

    delete from examessergiofranco
      where
        examessergiofranco.fil_codigo = old.fil_codigo and
        examessergiofranco.lae_codigo = old.lae_codigo;

    delete from examesalvaro
      where
        examesalvaro.fil_codigo = old.fil_codigo and
        examesalvaro.lae_codigo = old.lae_codigo;

    select count(*) into numrows
      from examesjalis
      where
        examesjalis.fil_codigo = old.fil_codigo and
        examesjalis.lae_codigo = old.lae_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examesjalis.'';
    end if;

    delete from examespardini
      where
        examespardini.fil_codigo = old.fil_codigo and
        examespardini.lae_codigo = old.lae_codigo;

    select count(*) into numrows
      from loteexterno
      where
        loteexterno.fil_codigo = old.fil_codigo and
        loteexterno.lae_codigo = old.lae_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela loteexterno.'';
    end if;


return old;
end;'
language 'plpgsql';
					
create trigger td_labexterno
after delete on labexterno
for each row execute procedure fn_td_labexterno();


drop function fn_ti_labexterno() cascade;

create function fn_ti_labexterno() returns opaque as '
declare
	numrows integer;
	tmp varchar;									 
begin
    select count(*) into numrows
      from prazoentrega
      where
        new.fil_codigo = prazoentrega.fil_codigo and
        new.prz_codigo = prazoentrega.prz_codigo;
    tmp:=''prazoentrega|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
      tmp:=tmp || ''prz_codigo='' || new.prz_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);

    if (
      new.fil_codigo is not null and
      new.prz_codigo is not null and
      numrows = 0
    ) then
      raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela prazoentrega. chave para consulta:[%]'',tmp using errcode=upper(''ifkne'');
    end if;

    select count(*) into numrows
      from metodologia
      where
        new.fil_codigo = metodologia.fil_codigo and
        new.met_codigo = metodologia.met_codigo;
    tmp:=''metodologia|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
      tmp:=tmp || ''met_codigo='' || new.met_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);

    if (
      new.fil_codigo is not null and
      new.met_codigo is not null and
      numrows = 0
    ) then
      raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela metodologia. chave para consulta:[%]'',tmp using errcode=upper(''ifkne'');
    end if;

    select count(*) into numrows
      from setores
      where
        new.fil_codigo = setores.fil_codigo and
        new.set_codigo = setores.set_codigo;
    tmp:=''setores|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
      tmp:=tmp || ''set_codigo='' || new.set_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);

    if (
      new.fil_codigo is not null and
      new.set_codigo is not null and
      numrows = 0
    ) then
      raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela setores. chave para consulta:[%]'',tmp using errcode=upper(''ifkne'');
    end if;

    select count(*) into numrows
      from usuario
      where
        new.usr_codconferir = usuario.usr_codigo;
    tmp:=''usuario|'';
    
      tmp:=tmp || ''usr_codigo='' || new.usr_codconferir || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);

    if (
      new.usr_codconferir is not null and
      numrows = 0
    ) then
      raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne'');
    end if;

    select count(*) into numrows
      from filiais_postocoleta
      where
        new.fil_codigo = filiais_postocoleta.fil_codigo;
    tmp:=''filiais_postocoleta|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);

    if (
      
      numrows = 0
    ) then
      raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela filiais_postocoleta. chave para consulta:[%]'',tmp using errcode=upper(''ifkne'');
    end if;


return new;
end;'
language 'plpgsql';
					
create trigger ti_labexterno
after insert on labexterno
for each row execute procedure fn_ti_labexterno();


drop function fn_tu_labexterno() cascade;

create function fn_tu_labexterno() returns opaque as '
declare
	numrows integer;
        tmp varchar;										 
begin
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.lae_codigo <> new.lae_codigo) then
    select count(*)
      from examesindlab
      where
        examesindlab.fil_codigo = old.fil_codigo and
        examesindlab.lae_codigo = old.lae_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examesindlab.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.lae_codigo <> new.lae_codigo) then
    select count(*)
      from convenios
      where
        convenios.fil_codigo = old.fil_codigo and
        convenios.lae_codigo = old.lae_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela convenios.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.lae_codigo <> new.lae_codigo) then
    select count(*)
      from materialalvaro
      where
        materialalvaro.fil_codigo = old.fil_codigo and
        materialalvaro.lae_codigo = old.lae_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela materialalvaro.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.lae_codigo <> new.lae_codigo) then
    select count(*)
      from labexternolotepardini
      where
        labexternolotepardini.fil_codigo = old.fil_codigo and
        labexternolotepardini.lae_codigo = old.lae_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela labexternolotepardini.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.lae_codigo <> new.lae_codigo) then
    select count(*)
      from labexternologintegracao
      where
        labexternologintegracao.fil_codigo = old.fil_codigo and
        labexternologintegracao.lae_codigo = old.lae_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela labexternologintegracao.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.lae_codigo <> new.lae_codigo) then
    select count(*)
      from labexternoversaotermo
      where
        labexternoversaotermo.fil_codigo = old.fil_codigo and
        labexternoversaotermo.lae_codigo = old.lae_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela labexternoversaotermo.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.lae_codigo <> new.lae_codigo) then
    select count(*)
      from examessaomarcos
      where
        examessaomarcos.fil_codigo = old.fil_codigo and
        examessaomarcos.lae_codigo = old.lae_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examessaomarcos.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.lae_codigo <> new.lae_codigo) then
    select count(*)
      from examessyslab
      where
        examessyslab.fil_codigo = old.fil_codigo and
        examessyslab.lae_codigo = old.lae_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examessyslab.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.lae_codigo <> new.lae_codigo) then
    select count(*)
      from examesunilab
      where
        examesunilab.fil_codigo = old.fil_codigo and
        examesunilab.lae_codigo = old.lae_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examesunilab.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.lae_codigo <> new.lae_codigo) then
    select count(*)
      from filiais_postocoleta
      where
        filiais_postocoleta.fil_codigo = old.fil_codigo and
        filiais_postocoleta.lae_codigo = old.lae_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela filiais_postocoleta.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.lae_codigo <> new.lae_codigo) then
    select count(*)
      from logimportacaolabexterno
      where
        logimportacaolabexterno.fil_codigo = old.fil_codigo and
        logimportacaolabexterno.lae_codigo = old.lae_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela logimportacaolabexterno.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.lae_codigo <> new.lae_codigo) then
    select count(*)
      from examessolucao
      where
        examessolucao.fil_codigo = old.fil_codigo and
        examessolucao.lae_codigo = old.lae_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examessolucao.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.lae_codigo <> new.lae_codigo) then
    select count(*)
      from examesdb
      where
        examesdb.fil_codigo = old.fil_codigo and
        examesdb.lae_codigo = old.lae_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examesdb.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.lae_codigo <> new.lae_codigo) then
    select count(*)
      from examesatitude
      where
        examesatitude.fil_codigo = old.fil_codigo and
        examesatitude.lae_codigo = old.lae_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examesatitude.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.lae_codigo <> new.lae_codigo) then
    select count(*)
      from examesbalague
      where
        examesbalague.fil_codigo = old.fil_codigo and
        examesbalague.lae_codigo = old.lae_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examesbalague.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.lae_codigo <> new.lae_codigo) then
    select count(*)
      from examesdelta
      where
        examesdelta.fil_codigo = old.fil_codigo and
        examesdelta.lae_codigo = old.lae_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examesdelta.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.lae_codigo <> new.lae_codigo) then
    select count(*)
      from examematcoletalabexterno
      where
        examematcoletalabexterno.fil_codigo = old.fil_codigo and
        examematcoletalabexterno.lae_codigo = old.lae_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examematcoletalabexterno.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.lae_codigo <> new.lae_codigo) then
    select count(*)
      from examesmatrix
      where
        examesmatrix.fil_codigo = old.fil_codigo and
        examesmatrix.lae_codigo = old.lae_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examesmatrix.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.lae_codigo <> new.lae_codigo) then
    select count(*)
      from examesrede
      where
        examesrede.fil_codigo = old.fil_codigo and
        examesrede.lae_codigo = old.lae_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examesrede.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.lae_codigo <> new.lae_codigo) then
    select count(*)
      from examesreacao
      where
        examesreacao.fil_codigo = old.fil_codigo and
        examesreacao.lae_codigo = old.lae_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examesreacao.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.lae_codigo <> new.lae_codigo) then
    select count(*)
      from pacientelabexterno
      where
        pacientelabexterno.fil_codigo = old.fil_codigo and
        pacientelabexterno.lae_codigo = old.lae_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela pacientelabexterno.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.lae_codigo <> new.lae_codigo) then
    select count(*)
      from requisicaolabexterno
      where
        requisicaolabexterno.fil_codigo = old.fil_codigo and
        requisicaolabexterno.lae_codigo = old.lae_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela requisicaolabexterno.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.lae_codigo <> new.lae_codigo) then
    select count(*)
      from examessergiofranco
      where
        examessergiofranco.fil_codigo = old.fil_codigo and
        examessergiofranco.lae_codigo = old.lae_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examessergiofranco.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.lae_codigo <> new.lae_codigo) then
    select count(*)
      from examesalvaro
      where
        examesalvaro.fil_codigo = old.fil_codigo and
        examesalvaro.lae_codigo = old.lae_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examesalvaro.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.lae_codigo <> new.lae_codigo) then
    select count(*)
      from examesjalis
      where
        examesjalis.fil_codigo = old.fil_codigo and
        examesjalis.lae_codigo = old.lae_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examesjalis.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.lae_codigo <> new.lae_codigo) then
    select count(*)
      from examespardini
      where
        examespardini.fil_codigo = old.fil_codigo and
        examespardini.lae_codigo = old.lae_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examespardini.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.lae_codigo <> new.lae_codigo) then
    select count(*)
      from loteexterno
      where
        loteexterno.fil_codigo = old.fil_codigo and
        loteexterno.lae_codigo = old.lae_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela loteexterno.'';
    end if;
  end if;
  select count(*) into numrows
    from prazoentrega
    where
      new.fil_codigo = prazoentrega.fil_codigo and
      new.prz_codigo = prazoentrega.prz_codigo;
    tmp:=''prazoentrega|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
      tmp:=tmp || ''prz_codigo='' || new.prz_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);
  if (
    new.fil_codigo is not null and
    new.prz_codigo is not null and
    numrows = 0
  ) then
    raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela prazoentrega. chave para consulta:[%]'',tmp using errcode=upper(''ufkne'');
  end if;

  select count(*) into numrows
    from metodologia
    where
      new.fil_codigo = metodologia.fil_codigo and
      new.met_codigo = metodologia.met_codigo;
    tmp:=''metodologia|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
      tmp:=tmp || ''met_codigo='' || new.met_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);
  if (
    new.fil_codigo is not null and
    new.met_codigo is not null and
    numrows = 0
  ) then
    raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela metodologia. chave para consulta:[%]'',tmp using errcode=upper(''ufkne'');
  end if;

  select count(*) into numrows
    from setores
    where
      new.fil_codigo = setores.fil_codigo and
      new.set_codigo = setores.set_codigo;
    tmp:=''setores|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
      tmp:=tmp || ''set_codigo='' || new.set_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);
  if (
    new.fil_codigo is not null and
    new.set_codigo is not null and
    numrows = 0
  ) then
    raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela setores. chave para consulta:[%]'',tmp using errcode=upper(''ufkne'');
  end if;

  select count(*) into numrows
    from usuario
    where
      new.usr_codconferir = usuario.usr_codigo;
    tmp:=''usuario|'';
    
      tmp:=tmp || ''usr_codigo='' || new.usr_codconferir || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);
  if (
    new.usr_codconferir is not null and
    numrows = 0
  ) then
    raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne'');
  end if;

  select count(*) into numrows
    from filiais_postocoleta
    where
      new.fil_codigo = filiais_postocoleta.fil_codigo;
    tmp:=''filiais_postocoleta|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);
  if (
    
    numrows = 0
  ) then
    raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela filiais_postocoleta. chave para consulta:[%]'',tmp using errcode=upper(''ufkne'');
  end if;


return old;
end;'
language 'plpgsql';
					
create trigger tu_labexterno
after update on labexterno
for each row execute procedure fn_tu_labexterno();


drop function fn_td_setores() cascade;

create function fn_td_setores() returns opaque as '
declare
	numrows integer;										 
begin
    delete from setoresusuario
      where
        setoresusuario.fil_codigo = old.fil_codigo and
        setoresusuario.set_codigo = old.set_codigo;

    select count(*) into numrows
      from examerequisicaohistoricosetor
      where
        examerequisicaohistoricosetor.fil_codigo = old.fil_codigo and
        examerequisicaohistoricosetor.set_codigo = old.set_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicaohistoricosetor.'';
    end if;

    select count(*) into numrows
      from labexterno
      where
        labexterno.fil_codigo = old.fil_codigo and
        labexterno.set_codigo = old.set_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela labexterno.'';
    end if;

    select count(*) into numrows
      from setoresnaoconformidade
      where
        setoresnaoconformidade.fil_codigo = old.fil_codigo and
        setoresnaoconformidade.set_codigo = old.set_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela setoresnaoconformidade.'';
    end if;

    select count(*) into numrows
      from banhomaria
      where
        banhomaria.fil_codigo = old.fil_codigo and
        banhomaria.set_codigo = old.set_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela banhomaria.'';
    end if;

    select count(*) into numrows
      from examerequisicaolaminas
      where
        examerequisicaolaminas.fil_codigo = old.fil_codigo and
        examerequisicaolaminas.set_codigo = old.set_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicaolaminas.'';
    end if;

    select count(*) into numrows
      from solicitarsoroteca
      where
        solicitarsoroteca.fil_codigo = old.fil_codigo and
        solicitarsoroteca.set_codigo = old.set_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela solicitarsoroteca.'';
    end if;

    select count(*) into numrows
      from examerequisicaosetor
      where
        examerequisicaosetor.fil_codigo = old.fil_codigo and
        examerequisicaosetor.set_codigo = old.set_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicaosetor.'';
    end if;

    select count(*) into numrows
      from examerequisicaosoroteca
      where
        examerequisicaosoroteca.fil_codigo = old.fil_codigo and
        examerequisicaosoroteca.set_codigo = old.set_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicaosoroteca.'';
    end if;

    select count(*) into numrows
      from estoquemanualmaterialpatrimonio
      where
        estoquemanualmaterialpatrimonio.fil_codigo = old.fil_codigo and
        estoquemanualmaterialpatrimonio.set_codanterior = old.set_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela estoquemanualmaterialpatrimonio.'';
    end if;

    select count(*) into numrows
      from transfestoquematerialpatrimonio
      where
        transfestoquematerialpatrimonio.fil_codigo = old.fil_codigo and
        transfestoquematerialpatrimonio.set_codanterior = old.set_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela transfestoquematerialpatrimonio.'';
    end if;

    select count(*) into numrows
      from materialpatrimonio
      where
        materialpatrimonio.fil_codigo = old.fil_codigo and
        materialpatrimonio.set_codigo = old.set_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela materialpatrimonio.'';
    end if;

    select count(*) into numrows
      from geladeiras
      where
        geladeiras.fil_codigo = old.fil_codigo and
        geladeiras.set_codigo = old.set_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela geladeiras.'';
    end if;

    select count(*) into numrows
      from interface
      where
        interface.fil_codigo = old.fil_codigo and
        interface.set_codigo = old.set_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela interface.'';
    end if;

    select count(*) into numrows
      from examesetor
      where
        examesetor.fil_codigo = old.fil_codigo and
        examesetor.set_codigo = old.set_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examesetor.'';
    end if;


return old;
end;'
language 'plpgsql';
					
create trigger td_setores
after delete on setores
for each row execute procedure fn_td_setores();


drop function fn_ti_setores() cascade;

create function fn_ti_setores() returns opaque as '
declare
	numrows integer;
	tmp varchar;									 
begin
    select count(*) into numrows
      from identificadorlamina
      where
        new.fil_codigo = identificadorlamina.fil_codigo and
        new.ide_codigo = identificadorlamina.ide_codigo;
    tmp:=''identificadorlamina|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
      tmp:=tmp || ''ide_codigo='' || new.ide_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);

    if (
      new.fil_codigo is not null and
      new.ide_codigo is not null and
      numrows = 0
    ) then
      raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela identificadorlamina. chave para consulta:[%]'',tmp using errcode=upper(''ifkne'');
    end if;

    select count(*) into numrows
      from usuario
      where
        new.usr_codigo = usuario.usr_codigo;
    tmp:=''usuario|'';
    
      tmp:=tmp || ''usr_codigo='' || new.usr_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);

    if (
      new.usr_codigo is not null and
      numrows = 0
    ) then
      raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne'');
    end if;

    select count(*) into numrows
      from filiais_postocoleta
      where
        new.fil_codigo = filiais_postocoleta.fil_codigo;
    tmp:=''filiais_postocoleta|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);

    if (
      
      numrows = 0
    ) then
      raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela filiais_postocoleta. chave para consulta:[%]'',tmp using errcode=upper(''ifkne'');
    end if;


return new;
end;'
language 'plpgsql';
					
create trigger ti_setores
after insert on setores
for each row execute procedure fn_ti_setores();


drop function fn_tu_setores() cascade;

create function fn_tu_setores() returns opaque as '
declare
	numrows integer;
        tmp varchar;										 
begin
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.set_codigo <> new.set_codigo) then
    select count(*)
      from setoresusuario
      where
        setoresusuario.fil_codigo = old.fil_codigo and
        setoresusuario.set_codigo = old.set_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela setoresusuario.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.set_codigo <> new.set_codigo) then
    select count(*)
      from examerequisicaohistoricosetor
      where
        examerequisicaohistoricosetor.fil_codigo = old.fil_codigo and
        examerequisicaohistoricosetor.set_codigo = old.set_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicaohistoricosetor.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.set_codigo <> new.set_codigo) then
    select count(*)
      from labexterno
      where
        labexterno.fil_codigo = old.fil_codigo and
        labexterno.set_codigo = old.set_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela labexterno.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.set_codigo <> new.set_codigo) then
    select count(*)
      from setoresnaoconformidade
      where
        setoresnaoconformidade.fil_codigo = old.fil_codigo and
        setoresnaoconformidade.set_codigo = old.set_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela setoresnaoconformidade.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.set_codigo <> new.set_codigo) then
    select count(*)
      from banhomaria
      where
        banhomaria.fil_codigo = old.fil_codigo and
        banhomaria.set_codigo = old.set_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela banhomaria.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.set_codigo <> new.set_codigo) then
    select count(*)
      from examerequisicaolaminas
      where
        examerequisicaolaminas.fil_codigo = old.fil_codigo and
        examerequisicaolaminas.set_codigo = old.set_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicaolaminas.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.set_codigo <> new.set_codigo) then
    select count(*)
      from solicitarsoroteca
      where
        solicitarsoroteca.fil_codigo = old.fil_codigo and
        solicitarsoroteca.set_codigo = old.set_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela solicitarsoroteca.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.set_codigo <> new.set_codigo) then
    select count(*)
      from examerequisicaosetor
      where
        examerequisicaosetor.fil_codigo = old.fil_codigo and
        examerequisicaosetor.set_codigo = old.set_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicaosetor.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.set_codigo <> new.set_codigo) then
    select count(*)
      from examerequisicaosoroteca
      where
        examerequisicaosoroteca.fil_codigo = old.fil_codigo and
        examerequisicaosoroteca.set_codigo = old.set_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicaosoroteca.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.set_codigo <> new.set_codigo) then
    select count(*)
      from estoquemanualmaterialpatrimonio
      where
        estoquemanualmaterialpatrimonio.fil_codigo = old.fil_codigo and
        estoquemanualmaterialpatrimonio.set_codanterior = old.set_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela estoquemanualmaterialpatrimonio.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.set_codigo <> new.set_codigo) then
    select count(*)
      from transfestoquematerialpatrimonio
      where
        transfestoquematerialpatrimonio.fil_codigo = old.fil_codigo and
        transfestoquematerialpatrimonio.set_codanterior = old.set_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela transfestoquematerialpatrimonio.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.set_codigo <> new.set_codigo) then
    select count(*)
      from materialpatrimonio
      where
        materialpatrimonio.fil_codigo = old.fil_codigo and
        materialpatrimonio.set_codigo = old.set_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela materialpatrimonio.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.set_codigo <> new.set_codigo) then
    select count(*)
      from geladeiras
      where
        geladeiras.fil_codigo = old.fil_codigo and
        geladeiras.set_codigo = old.set_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela geladeiras.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.set_codigo <> new.set_codigo) then
    select count(*)
      from interface
      where
        interface.fil_codigo = old.fil_codigo and
        interface.set_codigo = old.set_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela interface.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.set_codigo <> new.set_codigo) then
    select count(*)
      from examesetor
      where
        examesetor.fil_codigo = old.fil_codigo and
        examesetor.set_codigo = old.set_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examesetor.'';
    end if;
  end if;
  select count(*) into numrows
    from identificadorlamina
    where
      new.fil_codigo = identificadorlamina.fil_codigo and
      new.ide_codigo = identificadorlamina.ide_codigo;
    tmp:=''identificadorlamina|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
      tmp:=tmp || ''ide_codigo='' || new.ide_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);
  if (
    new.fil_codigo is not null and
    new.ide_codigo is not null and
    numrows = 0
  ) then
    raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela identificadorlamina. chave para consulta:[%]'',tmp using errcode=upper(''ufkne'');
  end if;

  select count(*) into numrows
    from usuario
    where
      new.usr_codigo = usuario.usr_codigo;
    tmp:=''usuario|'';
    
      tmp:=tmp || ''usr_codigo='' || new.usr_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);
  if (
    new.usr_codigo is not null and
    numrows = 0
  ) then
    raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne'');
  end if;

  select count(*) into numrows
    from filiais_postocoleta
    where
      new.fil_codigo = filiais_postocoleta.fil_codigo;
    tmp:=''filiais_postocoleta|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);
  if (
    
    numrows = 0
  ) then
    raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela filiais_postocoleta. chave para consulta:[%]'',tmp using errcode=upper(''ufkne'');
  end if;


return old;
end;'
language 'plpgsql';
					
create trigger tu_setores
after update on setores
for each row execute procedure fn_tu_setores();


--drop function fn_ti_setoresusuario() cascade;

create function fn_ti_setoresusuario() returns opaque as '
declare
	numrows integer;
	tmp varchar;									 
begin
    select count(*) into numrows
      from usuario
      where
        new.usr_codigo = usuario.usr_codigo;
    tmp:=''usuario|'';
    
      tmp:=tmp || ''usr_codigo='' || new.usr_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);

    if (
      
      numrows = 0
    ) then
      raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne'');
    end if;

    select count(*) into numrows
      from setores
      where
        new.fil_codigo = setores.fil_codigo and
        new.set_codigo = setores.set_codigo;
    tmp:=''setores|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
      tmp:=tmp || ''set_codigo='' || new.set_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);

    if (
      
      numrows = 0
    ) then
      raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela setores. chave para consulta:[%]'',tmp using errcode=upper(''ifkne'');
    end if;


return new;
end;'
language 'plpgsql';
					
create trigger ti_setoresusuario
after insert on setoresusuario
for each row execute procedure fn_ti_setoresusuario();


--drop function fn_tu_setoresusuario() cascade;

create function fn_tu_setoresusuario() returns opaque as '
declare
	numrows integer;
        tmp varchar;										 
begin
  select count(*) into numrows
    from usuario
    where
      new.usr_codigo = usuario.usr_codigo;
    tmp:=''usuario|'';
    
      tmp:=tmp || ''usr_codigo='' || new.usr_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);
  if (
    
    numrows = 0
  ) then
    raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne'');
  end if;

  select count(*) into numrows
    from setores
    where
      new.fil_codigo = setores.fil_codigo and
      new.set_codigo = setores.set_codigo;
    tmp:=''setores|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
      tmp:=tmp || ''set_codigo='' || new.set_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);
  if (
    
    numrows = 0
  ) then
    raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela setores. chave para consulta:[%]'',tmp using errcode=upper(''ufkne'');
  end if;


return old;
end;'
language 'plpgsql';
					
create trigger tu_setoresusuario
after update on setoresusuario
for each row execute procedure fn_tu_setoresusuario();


drop function fn_td_usuario() cascade;

create function fn_td_usuario() returns opaque as '
declare
	numrows integer;										 
begin
    select count(*) into numrows
      from setoresusuario
      where
        setoresusuario.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela setoresusuario.'';
    end if;

    select count(*) into numrows
      from historicoregistrocontato
      where
        historicoregistrocontato.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela historicoregistrocontato.'';
    end if;

    select count(*) into numrows
      from loteexternoexamerequisicao
      where
        loteexternoexamerequisicao.usr_codestorno = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela loteexternoexamerequisicao.'';
    end if;

    select count(*) into numrows
      from requisicaotermoconsentimento
      where
        requisicaotermoconsentimento.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela requisicaotermoconsentimento.'';
    end if;

    select count(*) into numrows
      from lotefilialexamerequisicao
      where
        lotefilialexamerequisicao.usr_codtransportechegada = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela lotefilialexamerequisicao.'';
    end if;

    select count(*) into numrows
      from lotefilialexamerequisicao
      where
        lotefilialexamerequisicao.usr_codtransportesaida = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela lotefilialexamerequisicao.'';
    end if;

    select count(*) into numrows
      from historicopoliticaweb
      where
        historicopoliticaweb.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela historicopoliticaweb.'';
    end if;

    select count(*) into numrows
      from preagendamentoevento
      where
        preagendamentoevento.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela preagendamentoevento.'';
    end if;

    select count(*) into numrows
      from labexternologintegracao
      where
        labexternologintegracao.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela labexternologintegracao.'';
    end if;

    select count(*) into numrows
      from labexternoversaotermo
      where
        labexternoversaotermo.usr_codaceite = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela labexternoversaotermo.'';
    end if;

    select count(*) into numrows
      from preagendamento
      where
        preagendamento.usr_codcancelamento = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela preagendamento.'';
    end if;

    select count(*) into numrows
      from preagendamento
      where
        preagendamento.usr_codagendou = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela preagendamento.'';
    end if;

    select count(*) into numrows
      from examerequisicao
      where
        examerequisicao.usr_coddialsist = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicao.'';
    end if;

    select count(*) into numrows
      from integracaosave
      where
        integracaosave.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela integracaosave.'';
    end if;

    select count(*) into numrows
      from interfaceexamereagente
      where
        interfaceexamereagente.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela interfaceexamereagente.'';
    end if;

    select count(*) into numrows
      from examerequisicaohistoricoentrega
      where
        examerequisicaohistoricoentrega.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicaohistoricoentrega.'';
    end if;

    select count(*) into numrows
      from requisicaopaginasimpressas
      where
        requisicaopaginasimpressas.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela requisicaopaginasimpressas.'';
    end if;

    select count(*) into numrows
      from tabelaprecoexamesusuario
      where
        tabelaprecoexamesusuario.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela tabelaprecoexamesusuario.'';
    end if;

    select count(*) into numrows
      from examerequisicao
      where
        examerequisicao.usr_codenvioemail = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicao.'';
    end if;

    select count(*) into numrows
      from materialusuario
      where
        materialusuario.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela materialusuario.'';
    end if;

    select count(*) into numrows
      from logids
      where
        logids.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela logids.'';
    end if;

    select count(*) into numrows
      from logvalidalotematerial
      where
        logvalidalotematerial.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela logvalidalotematerial.'';
    end if;

    select count(*) into numrows
      from material
      where
        material.usr_codavisolote = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela material.'';
    end if;

    delete from usuariosenhas
      where
        usuariosenhas.usr_codigo = old.usr_codigo;

    select count(*) into numrows
      from pacienteimagens
      where
        pacienteimagens.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela pacienteimagens.'';
    end if;

    select count(*) into numrows
      from requisicaoimagens
      where
        requisicaoimagens.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela requisicaoimagens.'';
    end if;

    select count(*) into numrows
      from orcamentoconvenio
      where
        orcamentoconvenio.usr_coddesconto = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela orcamentoconvenio.'';
    end if;

    select count(*) into numrows
      from requisicao
      where
        requisicao.usr_coddesconto = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela requisicao.'';
    end if;

    select count(*) into numrows
      from examerequisicaoetiquetas
      where
        examerequisicaoetiquetas.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicaoetiquetas.'';
    end if;

    select count(*) into numrows
      from examerequisicao
      where
        examerequisicao.usr_codduplaconferencia = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicao.'';
    end if;

    select count(*) into numrows
      from loteexternorequisicao
      where
        loteexternorequisicao.usr_codestorno = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela loteexternorequisicao.'';
    end if;

    select count(*) into numrows
      from loteexterno
      where
        loteexterno.usr_codestorno = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela loteexterno.'';
    end if;

    select count(*) into numrows
      from materiallotehistorico
      where
        materiallotehistorico.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela materiallotehistorico.'';
    end if;

    select count(*) into numrows
      from materiallote
      where
        materiallote.usr_codaberturainicial = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela materiallote.'';
    end if;

    select count(*) into numrows
      from materiallote
      where
        materiallote.usr_codfechado = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela materiallote.'';
    end if;

    select count(*) into numrows
      from materiallote
      where
        materiallote.usr_codaberto = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela materiallote.'';
    end if;

    delete from responsavelcertificado
      where
        responsavelcertificado.usr_codigo = old.usr_codigo;

    select count(*) into numrows
      from requisicao
      where
        requisicao.usr_codelegibilidade = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela requisicao.'';
    end if;

    select count(*) into numrows
      from examerequisicao
      where
        examerequisicao.usr_codsolicitadotiss = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicao.'';
    end if;

    select count(*) into numrows
      from examerequisicao
      where
        examerequisicao.usr_codcoletar = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicao.'';
    end if;

    select count(*) into numrows
      from transfestoquematerial
      where
        transfestoquematerial.usr_codcancelamento = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela transfestoquematerial.'';
    end if;

    select count(*) into numrows
      from transfestoque
      where
        transfestoque.usr_codcancelamento = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela transfestoque.'';
    end if;

    select count(*) into numrows
      from examerequisicaodadosbrutos
      where
        examerequisicaodadosbrutos.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicaodadosbrutos.'';
    end if;

    select count(*) into numrows
      from examerequisicaoincerteza
      where
        examerequisicaoincerteza.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicaoincerteza.'';
    end if;

    select count(*) into numrows
      from setoresnaoconformidadeusuario
      where
        setoresnaoconformidadeusuario.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela setoresnaoconformidadeusuario.'';
    end if;

    select count(*) into numrows
      from setoresnaoconformidade
      where
        setoresnaoconformidade.usr_codresponsavelsetor = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela setoresnaoconformidade.'';
    end if;

    select count(*) into numrows
      from examerequisicao
      where
        examerequisicao.usr_codtransportechegada = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicao.'';
    end if;

    select count(*) into numrows
      from examerequisicao
      where
        examerequisicao.usr_codtransportesaida = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicao.'';
    end if;

    select count(*) into numrows
      from lotefilial
      where
        lotefilial.usr_codrecebeu = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela lotefilial.'';
    end if;

    select count(*) into numrows
      from lotefilial
      where
        lotefilial.usr_codenviou = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela lotefilial.'';
    end if;

    select count(*) into numrows
      from logoffline
      where
        logoffline.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela logoffline.'';
    end if;

    select count(*) into numrows
      from usuariologin
      where
        usuariologin.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela usuariologin.'';
    end if;

    select count(*) into numrows
      from acoesnaoconformidade
      where
        acoesnaoconformidade.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela acoesnaoconformidade.'';
    end if;

    select count(*) into numrows
      from orcamentolog
      where
        orcamentolog.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela orcamentolog.'';
    end if;

    select count(*) into numrows
      from orcamento
      where
        orcamento.usr_codaprovado = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela orcamento.'';
    end if;

    select count(*) into numrows
      from naoconformidade
      where
        naoconformidade.usr_codconclusao = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela naoconformidade.'';
    end if;

    select count(*) into numrows
      from naoconformidade
      where
        naoconformidade.usr_codanalise = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela naoconformidade.'';
    end if;

    select count(*) into numrows
      from naoconformidade
      where
        naoconformidade.usr_codregistro = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela naoconformidade.'';
    end if;

    select count(*) into numrows
      from naoconformidade
      where
        naoconformidade.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela naoconformidade.'';
    end if;

    select count(*) into numrows
      from labexterno
      where
        labexterno.usr_codconferir = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela labexterno.'';
    end if;

    select count(*) into numrows
      from banhomariatemperatura
      where
        banhomariatemperatura.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela banhomariatemperatura.'';
    end if;

    select count(*) into numrows
      from banhomaria
      where
        banhomaria.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela banhomaria.'';
    end if;

    select count(*) into numrows
      from filiais_postocoleta
      where
        filiais_postocoleta.usr_codcompras = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela filiais_postocoleta.'';
    end if;

    select count(*) into numrows
      from filiais_postocoleta
      where
        filiais_postocoleta.usr_codestoque = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela filiais_postocoleta.'';
    end if;

    select count(*) into numrows
      from examerequisicaolaminas
      where
        examerequisicaolaminas.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicaolaminas.'';
    end if;

    select count(*) into numrows
      from agendamento
      where
        agendamento.usr_codhorarioanexado = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela agendamento.'';
    end if;

    select count(*) into numrows
      from agendamento
      where
        agendamento.usr_codbloqueado = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela agendamento.'';
    end if;

    select count(*) into numrows
      from materiallote
      where
        materiallote.usr_codremovido = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela materiallote.'';
    end if;

    select count(*) into numrows
      from materiallote
      where
        materiallote.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela materiallote.'';
    end if;

    select count(*) into numrows
      from examerequisicaohash
      where
        examerequisicaohash.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicaohash.'';
    end if;

    select count(*) into numrows
      from agendamento
      where
        agendamento.usr_codfinalizado = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela agendamento.'';
    end if;

    select count(*) into numrows
      from agendamento
      where
        agendamento.usr_codemcoleta = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela agendamento.'';
    end if;

    select count(*) into numrows
      from agendamento
      where
        agendamento.usr_codremarcado = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela agendamento.'';
    end if;

    select count(*) into numrows
      from requisicaolog
      where
        requisicaolog.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela requisicaolog.'';
    end if;

    select count(*) into numrows
      from convenioshistoricocota
      where
        convenioshistoricocota.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela convenioshistoricocota.'';
    end if;

    select count(*) into numrows
      from agendamento
      where
        agendamento.usr_codcancelamento = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela agendamento.'';
    end if;

    select count(*) into numrows
      from agendamento
      where
        agendamento.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela agendamento.'';
    end if;

    select count(*) into numrows
      from examerequisicaotrocas
      where
        examerequisicaotrocas.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicaotrocas.'';
    end if;

    select count(*) into numrows
      from examerequisicao
      where
        examerequisicao.usr_codtrocalayout = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicao.'';
    end if;

    select count(*) into numrows
      from examerequisicao
      where
        examerequisicao.usr_codalteracaopreco = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicao.'';
    end if;

    delete from usuariocompromisso
      where
        usuariocompromisso.usr_codigo = old.usr_codigo;

    select count(*) into numrows
      from examerequisicaohistoricolaudo
      where
        examerequisicaohistoricolaudo.usr_codsituacao = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicaohistoricolaudo.'';
    end if;

    select count(*) into numrows
      from contrassenharequisicao
      where
        contrassenharequisicao.usr_codgerada = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela contrassenharequisicao.'';
    end if;

    select count(*) into numrows
      from contrassenharequisicao
      where
        contrassenharequisicao.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela contrassenharequisicao.'';
    end if;

    select count(*) into numrows
      from solicitarsoroteca
      where
        solicitarsoroteca.usr_codentrega = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela solicitarsoroteca.'';
    end if;

    select count(*) into numrows
      from solicitarsoroteca
      where
        solicitarsoroteca.usr_codcancelamento = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela solicitarsoroteca.'';
    end if;

    select count(*) into numrows
      from solicitarsoroteca
      where
        solicitarsoroteca.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela solicitarsoroteca.'';
    end if;

    select count(*) into numrows
      from convenioignorarecebimento
      where
        convenioignorarecebimento.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela convenioignorarecebimento.'';
    end if;

    select count(*) into numrows
      from examerequisicaohistoricolaudo
      where
        examerequisicaohistoricolaudo.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicaohistoricolaudo.'';
    end if;

    select count(*) into numrows
      from examerequisicaosetor
      where
        examerequisicaosetor.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicaosetor.'';
    end if;

    select count(*) into numrows
      from paciente
      where
        paciente.usr_codimpressaocarteira = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela paciente.'';
    end if;

    select count(*) into numrows
      from materialenviado
      where
        materialenviado.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela materialenviado.'';
    end if;

    select count(*) into numrows
      from materialidentificado
      where
        materialidentificado.usr_codretorno = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela materialidentificado.'';
    end if;

    select count(*) into numrows
      from materialidentificado
      where
        materialidentificado.usr_codenvio = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela materialidentificado.'';
    end if;

    select count(*) into numrows
      from loteapoio
      where
        loteapoio.usr_codrecebeucaixa = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela loteapoio.'';
    end if;

    select count(*) into numrows
      from examerequisicaosoroteca
      where
        examerequisicaosoroteca.usr_coddescarte = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicaosoroteca.'';
    end if;

    select count(*) into numrows
      from examerequisicaosoroteca
      where
        examerequisicaosoroteca.usr_codsoroteca = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicaosoroteca.'';
    end if;

    select count(*) into numrows
      from requisicao
      where
        requisicao.usr_codguiarepasse = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela requisicao.'';
    end if;

    select count(*) into numrows
      from examerequisicao
      where
        examerequisicao.usr_codrecoleta = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicao.'';
    end if;

    select count(*) into numrows
      from examerequisicao
      where
        examerequisicao.usr_codfaturarepasse = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicao.'';
    end if;

    select count(*) into numrows
      from receberpagar
      where
        receberpagar.usr_codcomissao = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela receberpagar.'';
    end if;

    select count(*) into numrows
      from montagemkit
      where
        montagemkit.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela montagemkit.'';
    end if;

    select count(*) into numrows
      from transfestoque
      where
        transfestoque.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela transfestoque.'';
    end if;

    select count(*) into numrows
      from orcamento
      where
        orcamento.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela orcamento.'';
    end if;

    select count(*) into numrows
      from estoquemanual
      where
        estoquemanual.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela estoquemanual.'';
    end if;

    select count(*) into numrows
      from requisicaoestoque
      where
        requisicaoestoque.usr_codcancelamento = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela requisicaoestoque.'';
    end if;

    select count(*) into numrows
      from requisicaoestoque
      where
        requisicaoestoque.usr_codalmoxarife = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela requisicaoestoque.'';
    end if;

    select count(*) into numrows
      from requisicaoestoque
      where
        requisicaoestoque.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela requisicaoestoque.'';
    end if;

    select count(*) into numrows
      from notafiscal
      where
        notafiscal.usr_codautorizafinanceira = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela notafiscal.'';
    end if;

    select count(*) into numrows
      from conferenciaestoque
      where
        conferenciaestoque.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela conferenciaestoque.'';
    end if;

    select count(*) into numrows
      from lanctoestoque
      where
        lanctoestoque.usr_codconciliacao = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela lanctoestoque.'';
    end if;

    select count(*) into numrows
      from lanctoestoque
      where
        lanctoestoque.usr_codcancelamento = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela lanctoestoque.'';
    end if;

    select count(*) into numrows
      from lanctoestoque
      where
        lanctoestoque.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela lanctoestoque.'';
    end if;

    select count(*) into numrows
      from conferenciaentrada
      where
        conferenciaentrada.usr_codcancelamento = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela conferenciaentrada.'';
    end if;

    select count(*) into numrows
      from conferenciaentrada
      where
        conferenciaentrada.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela conferenciaentrada.'';
    end if;

    select count(*) into numrows
      from pedido
      where
        pedido.usr_codexclusao = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela pedido.'';
    end if;

    select count(*) into numrows
      from fatura
      where
        fatura.usr_codcomissao = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela fatura.'';
    end if;

    select count(*) into numrows
      from pedido
      where
        pedido.usr_codautorizacao = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela pedido.'';
    end if;

    select count(*) into numrows
      from pedido
      where
        pedido.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela pedido.'';
    end if;

    select count(*) into numrows
      from cotacao
      where
        cotacao.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela cotacao.'';
    end if;

    select count(*) into numrows
      from material
      where
        material.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela material.'';
    end if;

    select count(*) into numrows
      from receberpagar
      where
        receberpagar.usr_codprotestocobranca = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela receberpagar.'';
    end if;

    select count(*) into numrows
      from receberpagar
      where
        receberpagar.usr_codcartoriocobranca = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela receberpagar.'';
    end if;

    select count(*) into numrows
      from receberpagar
      where
        receberpagar.usr_codavisocobranca = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela receberpagar.'';
    end if;

    select count(*) into numrows
      from examerequisicao
      where
        examerequisicao.usr_codrepeticao = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicao.'';
    end if;

    select count(*) into numrows
      from paciente
      where
        paciente.usr_codalteracao = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela paciente.'';
    end if;

    select count(*) into numrows
      from examerequisicao
      where
        examerequisicao.usr_codguia = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicao.'';
    end if;

    select count(*) into numrows
      from examerequisicaosituacoes
      where
        examerequisicaosituacoes.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicaosituacoes.'';
    end if;

    select count(*) into numrows
      from exames
      where
        exames.usr_codassinaweb = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela exames.'';
    end if;

    select count(*) into numrows
      from examerequisicao
      where
        examerequisicao.usr_codexcluido = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicao.'';
    end if;

    select count(*) into numrows
      from requisicao
      where
        requisicao.usr_codexcluida = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela requisicao.'';
    end if;

    select count(*) into numrows
      from fatura
      where
        fatura.usr_codcancelamento = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela fatura.'';
    end if;

    select count(*) into numrows
      from convenios
      where
        convenios.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela convenios.'';
    end if;

    select count(*) into numrows
      from notafiscal
      where
        notafiscal.usr_codreimpressao = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela notafiscal.'';
    end if;

    select count(*) into numrows
      from geladeirastemperaturas
      where
        geladeirastemperaturas.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela geladeirastemperaturas.'';
    end if;

    select count(*) into numrows
      from geladeiras
      where
        geladeiras.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela geladeiras.'';
    end if;

    delete from usuariofilial
      where
        usuariofilial.usr_codigo = old.usr_codigo;

    select count(*) into numrows
      from notafiscal
      where
        notafiscal.usr_codimpressao = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela notafiscal.'';
    end if;

    select count(*) into numrows
      from notafiscal
      where
        notafiscal.usr_codcancelada = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela notafiscal.'';
    end if;

    select count(*) into numrows
      from notafiscal
      where
        notafiscal.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela notafiscal.'';
    end if;

    select count(*) into numrows
      from baixa
      where
        baixa.usr_codcancelado = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela baixa.'';
    end if;

    select count(*) into numrows
      from baixa
      where
        baixa.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela baixa.'';
    end if;

    select count(*) into numrows
      from receberpagar
      where
        receberpagar.usr_codcancelado = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela receberpagar.'';
    end if;

    select count(*) into numrows
      from receberpagar
      where
        receberpagar.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela receberpagar.'';
    end if;

    select count(*) into numrows
      from lanctocaixa
      where
        lanctocaixa.usr_codcancelado = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela lanctocaixa.'';
    end if;

    select count(*) into numrows
      from requisicaocid10
      where
        requisicaocid10.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela requisicaocid10.'';
    end if;

    select count(*) into numrows
      from examerequisicao
      where
        examerequisicao.usr_codmaterialsetor = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicao.'';
    end if;

    select count(*) into numrows
      from examerequisicao
      where
        examerequisicao.usr_codloteexterno = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicao.'';
    end if;

    select count(*) into numrows
      from loteexterno
      where
        loteexterno.usr_codenvio = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela loteexterno.'';
    end if;

    select count(*) into numrows
      from loteexterno
      where
        loteexterno.usr_codcriacao = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela loteexterno.'';
    end if;

    select count(*) into numrows
      from log
      where
        log.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela log.'';
    end if;

    select count(*) into numrows
      from usuariomensagem
      where
        usuariomensagem.usr_codorigem = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela usuariomensagem.'';
    end if;

    delete from usuariomensagem
      where
        usuariomensagem.usr_coddestino = old.usr_codigo;

    select count(*) into numrows
      from conveniomensagem
      where
        conveniomensagem.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela conveniomensagem.'';
    end if;

    select count(*) into numrows
      from examerequisicaorecipiente
      where
        examerequisicaorecipiente.usr_codtriagem = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicaorecipiente.'';
    end if;

    select count(*) into numrows
      from examerequisicao
      where
        examerequisicao.usr_codetqtriagem = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicao.'';
    end if;

    select count(*) into numrows
      from examerequisicao
      where
        examerequisicao.usr_codetqcoleta = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicao.'';
    end if;

    select count(*) into numrows
      from loteapoio
      where
        loteapoio.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela loteapoio.'';
    end if;

    select count(*) into numrows
      from examerequisicao
      where
        examerequisicao.usr_codtriagem = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicao.'';
    end if;

    select count(*) into numrows
      from fatura
      where
        fatura.usr_codconferencia = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela fatura.'';
    end if;

    select count(*) into numrows
      from fatura
      where
        fatura.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela fatura.'';
    end if;

    select count(*) into numrows
      from contrasenha
      where
        contrasenha.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela contrasenha.'';
    end if;

    select count(*) into numrows
      from examerequisicao
      where
        examerequisicao.usr_codnaofaturar = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicao.'';
    end if;

    select count(*) into numrows
      from requisicaousuario
      where
        requisicaousuario.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela requisicaousuario.'';
    end if;

    select count(*) into numrows
      from requisicao
      where
        requisicao.usr_codabertura = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela requisicao.'';
    end if;

    select count(*) into numrows
      from examerequisicao
      where
        examerequisicao.usr_codcortesia = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicao.'';
    end if;

    select count(*) into numrows
      from examerequisicao
      where
        examerequisicao.usr_codmapa = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicao.'';
    end if;

    select count(*) into numrows
      from interfaceexamerequisicao
      where
        interfaceexamerequisicao.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela interfaceexamerequisicao.'';
    end if;

    select count(*) into numrows
      from usuarioparametro
      where
        usuarioparametro.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela usuarioparametro.'';
    end if;

    select count(*) into numrows
      from lanctocaixa
      where
        lanctocaixa.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela lanctocaixa.'';
    end if;

    select count(*) into numrows
      from examerequisicao
      where
        examerequisicao.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicao.'';
    end if;

    select count(*) into numrows
      from requisicao
      where
        requisicao.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela requisicao.'';
    end if;

    select count(*) into numrows
      from examerequisicao
      where
        examerequisicao.usr_codimpressao = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicao.'';
    end if;

    select count(*) into numrows
      from examerequisicao
      where
        examerequisicao.usr_codentrega = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicao.'';
    end if;

    select count(*) into numrows
      from examerequisicao
      where
        examerequisicao.usr_codfatura = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicao.'';
    end if;

    select count(*) into numrows
      from examerequisicao
      where
        examerequisicao.usr_codmaterial = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicao.'';
    end if;

    select count(*) into numrows
      from examerequisicao
      where
        examerequisicao.usr_coddigitador = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicao.'';
    end if;

    select count(*) into numrows
      from examerequisicao
      where
        examerequisicao.usr_codassina = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicao.'';
    end if;

    delete from usuarioacesso
      where
        usuarioacesso.usr_codigo = old.usr_codigo;

    select count(*) into numrows
      from setores
      where
        setores.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela setores.'';
    end if;

    select count(*) into numrows
      from paciente
      where
        paciente.usr_codigo = old.usr_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela paciente.'';
    end if;


return old;
end;'
language 'plpgsql';
					
create trigger td_usuario
after delete on usuario
for each row execute procedure fn_td_usuario();


drop function fn_ti_usuario() cascade;

create function fn_ti_usuario() returns opaque as '
declare
	numrows integer;
	tmp varchar;									 
begin
    select count(*) into numrows
      from tipousuario
      where
        new.tpu_codigo = tipousuario.tpu_codigo;
    tmp:=''tipousuario|'';
    
      tmp:=tmp || ''tpu_codigo='' || new.tpu_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);

    if (
      new.tpu_codigo is not null and
      numrows = 0
    ) then
      raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela tipousuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne'');
    end if;


return new;
end;'
language 'plpgsql';
					
create trigger ti_usuario
after insert on usuario
for each row execute procedure fn_ti_usuario();


drop function fn_tu_usuario() cascade;

create function fn_tu_usuario() returns opaque as '
declare
	numrows integer;
        tmp varchar;										 
begin
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from setoresusuario
      where
        setoresusuario.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela setoresusuario.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from historicoregistrocontato
      where
        historicoregistrocontato.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela historicoregistrocontato.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from loteexternoexamerequisicao
      where
        loteexternoexamerequisicao.usr_codestorno = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela loteexternoexamerequisicao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from requisicaotermoconsentimento
      where
        requisicaotermoconsentimento.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela requisicaotermoconsentimento.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from lotefilialexamerequisicao
      where
        lotefilialexamerequisicao.usr_codtransportechegada = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela lotefilialexamerequisicao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from lotefilialexamerequisicao
      where
        lotefilialexamerequisicao.usr_codtransportesaida = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela lotefilialexamerequisicao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from historicopoliticaweb
      where
        historicopoliticaweb.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela historicopoliticaweb.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from preagendamentoevento
      where
        preagendamentoevento.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela preagendamentoevento.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from labexternologintegracao
      where
        labexternologintegracao.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela labexternologintegracao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from labexternoversaotermo
      where
        labexternoversaotermo.usr_codaceite = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela labexternoversaotermo.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from preagendamento
      where
        preagendamento.usr_codcancelamento = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela preagendamento.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from preagendamento
      where
        preagendamento.usr_codagendou = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela preagendamento.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from examerequisicao
      where
        examerequisicao.usr_coddialsist = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from integracaosave
      where
        integracaosave.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela integracaosave.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from interfaceexamereagente
      where
        interfaceexamereagente.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela interfaceexamereagente.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from examerequisicaohistoricoentrega
      where
        examerequisicaohistoricoentrega.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicaohistoricoentrega.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from requisicaopaginasimpressas
      where
        requisicaopaginasimpressas.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela requisicaopaginasimpressas.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from tabelaprecoexamesusuario
      where
        tabelaprecoexamesusuario.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela tabelaprecoexamesusuario.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from examerequisicao
      where
        examerequisicao.usr_codenvioemail = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from materialusuario
      where
        materialusuario.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela materialusuario.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from logids
      where
        logids.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela logids.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from logvalidalotematerial
      where
        logvalidalotematerial.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela logvalidalotematerial.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from material
      where
        material.usr_codavisolote = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela material.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from usuariosenhas
      where
        usuariosenhas.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela usuariosenhas.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from pacienteimagens
      where
        pacienteimagens.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela pacienteimagens.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from requisicaoimagens
      where
        requisicaoimagens.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela requisicaoimagens.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from orcamentoconvenio
      where
        orcamentoconvenio.usr_coddesconto = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela orcamentoconvenio.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from requisicao
      where
        requisicao.usr_coddesconto = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela requisicao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from examerequisicaoetiquetas
      where
        examerequisicaoetiquetas.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicaoetiquetas.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from examerequisicao
      where
        examerequisicao.usr_codduplaconferencia = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from loteexternorequisicao
      where
        loteexternorequisicao.usr_codestorno = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela loteexternorequisicao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from loteexterno
      where
        loteexterno.usr_codestorno = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela loteexterno.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from materiallotehistorico
      where
        materiallotehistorico.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela materiallotehistorico.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from materiallote
      where
        materiallote.usr_codaberturainicial = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela materiallote.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from materiallote
      where
        materiallote.usr_codfechado = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela materiallote.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from materiallote
      where
        materiallote.usr_codaberto = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela materiallote.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from responsavelcertificado
      where
        responsavelcertificado.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela responsavelcertificado.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from requisicao
      where
        requisicao.usr_codelegibilidade = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela requisicao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from examerequisicao
      where
        examerequisicao.usr_codsolicitadotiss = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from examerequisicao
      where
        examerequisicao.usr_codcoletar = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from transfestoquematerial
      where
        transfestoquematerial.usr_codcancelamento = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela transfestoquematerial.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from transfestoque
      where
        transfestoque.usr_codcancelamento = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela transfestoque.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from examerequisicaodadosbrutos
      where
        examerequisicaodadosbrutos.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicaodadosbrutos.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from examerequisicaoincerteza
      where
        examerequisicaoincerteza.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicaoincerteza.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from setoresnaoconformidadeusuario
      where
        setoresnaoconformidadeusuario.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela setoresnaoconformidadeusuario.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from setoresnaoconformidade
      where
        setoresnaoconformidade.usr_codresponsavelsetor = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela setoresnaoconformidade.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from examerequisicao
      where
        examerequisicao.usr_codtransportechegada = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from examerequisicao
      where
        examerequisicao.usr_codtransportesaida = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from lotefilial
      where
        lotefilial.usr_codrecebeu = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela lotefilial.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from lotefilial
      where
        lotefilial.usr_codenviou = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela lotefilial.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from logoffline
      where
        logoffline.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela logoffline.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from usuariologin
      where
        usuariologin.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela usuariologin.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from acoesnaoconformidade
      where
        acoesnaoconformidade.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela acoesnaoconformidade.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from orcamentolog
      where
        orcamentolog.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela orcamentolog.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from orcamento
      where
        orcamento.usr_codaprovado = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela orcamento.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from naoconformidade
      where
        naoconformidade.usr_codconclusao = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela naoconformidade.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from naoconformidade
      where
        naoconformidade.usr_codanalise = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela naoconformidade.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from naoconformidade
      where
        naoconformidade.usr_codregistro = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela naoconformidade.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from naoconformidade
      where
        naoconformidade.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela naoconformidade.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from labexterno
      where
        labexterno.usr_codconferir = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela labexterno.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from banhomariatemperatura
      where
        banhomariatemperatura.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela banhomariatemperatura.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from banhomaria
      where
        banhomaria.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela banhomaria.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from filiais_postocoleta
      where
        filiais_postocoleta.usr_codcompras = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela filiais_postocoleta.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from filiais_postocoleta
      where
        filiais_postocoleta.usr_codestoque = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela filiais_postocoleta.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from examerequisicaolaminas
      where
        examerequisicaolaminas.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicaolaminas.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from agendamento
      where
        agendamento.usr_codhorarioanexado = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela agendamento.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from agendamento
      where
        agendamento.usr_codbloqueado = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela agendamento.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from materiallote
      where
        materiallote.usr_codremovido = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela materiallote.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from materiallote
      where
        materiallote.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela materiallote.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from examerequisicaohash
      where
        examerequisicaohash.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicaohash.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from agendamento
      where
        agendamento.usr_codfinalizado = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela agendamento.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from agendamento
      where
        agendamento.usr_codemcoleta = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela agendamento.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from agendamento
      where
        agendamento.usr_codremarcado = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela agendamento.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from requisicaolog
      where
        requisicaolog.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela requisicaolog.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from convenioshistoricocota
      where
        convenioshistoricocota.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela convenioshistoricocota.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from agendamento
      where
        agendamento.usr_codcancelamento = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela agendamento.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from agendamento
      where
        agendamento.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela agendamento.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from examerequisicaotrocas
      where
        examerequisicaotrocas.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicaotrocas.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from examerequisicao
      where
        examerequisicao.usr_codtrocalayout = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from examerequisicao
      where
        examerequisicao.usr_codalteracaopreco = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from usuariocompromisso
      where
        usuariocompromisso.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela usuariocompromisso.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from examerequisicaohistoricolaudo
      where
        examerequisicaohistoricolaudo.usr_codsituacao = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicaohistoricolaudo.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from contrassenharequisicao
      where
        contrassenharequisicao.usr_codgerada = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela contrassenharequisicao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from contrassenharequisicao
      where
        contrassenharequisicao.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela contrassenharequisicao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from solicitarsoroteca
      where
        solicitarsoroteca.usr_codentrega = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela solicitarsoroteca.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from solicitarsoroteca
      where
        solicitarsoroteca.usr_codcancelamento = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela solicitarsoroteca.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from solicitarsoroteca
      where
        solicitarsoroteca.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela solicitarsoroteca.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from convenioignorarecebimento
      where
        convenioignorarecebimento.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela convenioignorarecebimento.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from examerequisicaohistoricolaudo
      where
        examerequisicaohistoricolaudo.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicaohistoricolaudo.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from examerequisicaosetor
      where
        examerequisicaosetor.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicaosetor.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from paciente
      where
        paciente.usr_codimpressaocarteira = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela paciente.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from materialenviado
      where
        materialenviado.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela materialenviado.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from materialidentificado
      where
        materialidentificado.usr_codretorno = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela materialidentificado.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from materialidentificado
      where
        materialidentificado.usr_codenvio = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela materialidentificado.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from loteapoio
      where
        loteapoio.usr_codrecebeucaixa = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela loteapoio.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from examerequisicaosoroteca
      where
        examerequisicaosoroteca.usr_coddescarte = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicaosoroteca.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from examerequisicaosoroteca
      where
        examerequisicaosoroteca.usr_codsoroteca = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicaosoroteca.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from requisicao
      where
        requisicao.usr_codguiarepasse = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela requisicao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from examerequisicao
      where
        examerequisicao.usr_codrecoleta = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from examerequisicao
      where
        examerequisicao.usr_codfaturarepasse = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from receberpagar
      where
        receberpagar.usr_codcomissao = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela receberpagar.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from montagemkit
      where
        montagemkit.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela montagemkit.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from transfestoque
      where
        transfestoque.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela transfestoque.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from orcamento
      where
        orcamento.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela orcamento.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from estoquemanual
      where
        estoquemanual.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela estoquemanual.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from requisicaoestoque
      where
        requisicaoestoque.usr_codcancelamento = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela requisicaoestoque.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from requisicaoestoque
      where
        requisicaoestoque.usr_codalmoxarife = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela requisicaoestoque.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from requisicaoestoque
      where
        requisicaoestoque.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela requisicaoestoque.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from notafiscal
      where
        notafiscal.usr_codautorizafinanceira = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela notafiscal.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from conferenciaestoque
      where
        conferenciaestoque.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela conferenciaestoque.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from lanctoestoque
      where
        lanctoestoque.usr_codconciliacao = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela lanctoestoque.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from lanctoestoque
      where
        lanctoestoque.usr_codcancelamento = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela lanctoestoque.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from lanctoestoque
      where
        lanctoestoque.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela lanctoestoque.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from conferenciaentrada
      where
        conferenciaentrada.usr_codcancelamento = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela conferenciaentrada.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from conferenciaentrada
      where
        conferenciaentrada.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela conferenciaentrada.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from pedido
      where
        pedido.usr_codexclusao = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela pedido.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from fatura
      where
        fatura.usr_codcomissao = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela fatura.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from pedido
      where
        pedido.usr_codautorizacao = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela pedido.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from pedido
      where
        pedido.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela pedido.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from cotacao
      where
        cotacao.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela cotacao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from material
      where
        material.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela material.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from receberpagar
      where
        receberpagar.usr_codprotestocobranca = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela receberpagar.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from receberpagar
      where
        receberpagar.usr_codcartoriocobranca = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela receberpagar.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from receberpagar
      where
        receberpagar.usr_codavisocobranca = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela receberpagar.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from examerequisicao
      where
        examerequisicao.usr_codrepeticao = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from paciente
      where
        paciente.usr_codalteracao = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela paciente.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from examerequisicao
      where
        examerequisicao.usr_codguia = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from examerequisicaosituacoes
      where
        examerequisicaosituacoes.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicaosituacoes.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from exames
      where
        exames.usr_codassinaweb = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela exames.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from examerequisicao
      where
        examerequisicao.usr_codexcluido = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from requisicao
      where
        requisicao.usr_codexcluida = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela requisicao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from fatura
      where
        fatura.usr_codcancelamento = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela fatura.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from convenios
      where
        convenios.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela convenios.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from notafiscal
      where
        notafiscal.usr_codreimpressao = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela notafiscal.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from geladeirastemperaturas
      where
        geladeirastemperaturas.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela geladeirastemperaturas.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from geladeiras
      where
        geladeiras.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela geladeiras.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from usuariofilial
      where
        usuariofilial.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela usuariofilial.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from notafiscal
      where
        notafiscal.usr_codimpressao = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela notafiscal.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from notafiscal
      where
        notafiscal.usr_codcancelada = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela notafiscal.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from notafiscal
      where
        notafiscal.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela notafiscal.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from baixa
      where
        baixa.usr_codcancelado = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela baixa.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from baixa
      where
        baixa.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela baixa.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from receberpagar
      where
        receberpagar.usr_codcancelado = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela receberpagar.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from receberpagar
      where
        receberpagar.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela receberpagar.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from lanctocaixa
      where
        lanctocaixa.usr_codcancelado = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela lanctocaixa.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from requisicaocid10
      where
        requisicaocid10.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela requisicaocid10.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from examerequisicao
      where
        examerequisicao.usr_codmaterialsetor = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from examerequisicao
      where
        examerequisicao.usr_codloteexterno = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from loteexterno
      where
        loteexterno.usr_codenvio = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela loteexterno.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from loteexterno
      where
        loteexterno.usr_codcriacao = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela loteexterno.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from log
      where
        log.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela log.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from usuariomensagem
      where
        usuariomensagem.usr_codorigem = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela usuariomensagem.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from usuariomensagem
      where
        usuariomensagem.usr_coddestino = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela usuariomensagem.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from conveniomensagem
      where
        conveniomensagem.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela conveniomensagem.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from examerequisicaorecipiente
      where
        examerequisicaorecipiente.usr_codtriagem = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicaorecipiente.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from examerequisicao
      where
        examerequisicao.usr_codetqtriagem = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from examerequisicao
      where
        examerequisicao.usr_codetqcoleta = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from loteapoio
      where
        loteapoio.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela loteapoio.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from examerequisicao
      where
        examerequisicao.usr_codtriagem = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from fatura
      where
        fatura.usr_codconferencia = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela fatura.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from fatura
      where
        fatura.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela fatura.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from contrasenha
      where
        contrasenha.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela contrasenha.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from examerequisicao
      where
        examerequisicao.usr_codnaofaturar = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from requisicaousuario
      where
        requisicaousuario.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela requisicaousuario.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from requisicao
      where
        requisicao.usr_codabertura = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela requisicao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from examerequisicao
      where
        examerequisicao.usr_codcortesia = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from examerequisicao
      where
        examerequisicao.usr_codmapa = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from interfaceexamerequisicao
      where
        interfaceexamerequisicao.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela interfaceexamerequisicao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from usuarioparametro
      where
        usuarioparametro.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela usuarioparametro.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from lanctocaixa
      where
        lanctocaixa.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela lanctocaixa.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from examerequisicao
      where
        examerequisicao.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from requisicao
      where
        requisicao.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela requisicao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from examerequisicao
      where
        examerequisicao.usr_codimpressao = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from examerequisicao
      where
        examerequisicao.usr_codentrega = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from examerequisicao
      where
        examerequisicao.usr_codfatura = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from examerequisicao
      where
        examerequisicao.usr_codmaterial = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from examerequisicao
      where
        examerequisicao.usr_coddigitador = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from examerequisicao
      where
        examerequisicao.usr_codassina = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicao.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from usuarioacesso
      where
        usuarioacesso.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela usuarioacesso.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from setores
      where
        setores.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela setores.'';
    end if;
  end if;
  if
    (old.usr_codigo <> new.usr_codigo) then
    select count(*)
      from paciente
      where
        paciente.usr_codigo = old.usr_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela paciente.'';
    end if;
  end if;
  select count(*) into numrows
    from tipousuario
    where
      new.tpu_codigo = tipousuario.tpu_codigo;
    tmp:=''tipousuario|'';
    
      tmp:=tmp || ''tpu_codigo='' || new.tpu_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);
  if (
    new.tpu_codigo is not null and
    numrows = 0
  ) then
    raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela tipousuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne'');
  end if;


return old;
end;'
language 'plpgsql';
					
create trigger tu_usuario
after update on usuario
for each row execute procedure fn_tu_usuario();

insert into atualizacoes(atu_nome) values ('v22070001_300822sql');

select configurageralog('examesindlab');
select configurageralog('setoresusuario');
select configurageralog('filialsmsagendamento');
select configurageralog('fraseagendamentosms');

insert into atualizacoes(atu_nome) values ('v22070002_300822sql');


alter table requisicaolabexterno add rle_codigotemp decimal(12); 
update requisicaolabexterno set rle_codigotemp = rle_codigo; 
alter table requisicaolabexterno alter rle_codigo type varchar(20);

insert into atualizacoes(atu_nome) values ('v22070003_060922sql');


alter table requisicaoweb add rew_periodogestacional smallint; --[lode]

insert into atualizacoes(atu_nome) values ('v22070004_120922sql');  --[lode]


create table etniaindigena (
       ein_codigo           integer not null,
       ein_descricao        varchar(80)
);--[lode]

create unique index xpketniaindigena on etniaindigena
(
       ein_codigo
);--[lode]


alter table etniaindigena
       add primary key (ein_codigo);--[lode]


create table nacionalidade (
       nli_codigo           integer not null,
       nli_descricao        varchar(80)
);--[lode]

create unique index xpknacionalidade on nacionalidade
(
       nli_codigo
);--[lode]


alter table nacionalidade
       add primary key (nli_codigo);--[lode]


alter table paciente add nli_codigo integer;--[lode]
alter table paciente add ein_codigo integer;--[lode]

create function fn_td_etniaindigena() returns opaque as '
declare
	numrows integer;										 
begin
    select count(*) into numrows
      from paciente
      where
        paciente.ein_codigo = old.ein_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela paciente.'';
    end if;


return old;
end;'
language 'plpgsql';--[lode]
					
create trigger td_etniaindigena
after delete on etniaindigena
for each row execute procedure fn_td_etniaindigena();--[lode]


create function fn_tu_etniaindigena() returns opaque as '
declare
	numrows integer;
        tmp varchar;										 
begin
  if
    (old.ein_codigo <> new.ein_codigo) then
    select count(*)
      from paciente
      where
        paciente.ein_codigo = old.ein_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela paciente.'';
    end if;
  end if;

return old;
end;'
language 'plpgsql';--[lode]
					
create trigger tu_etniaindigena
after update on etniaindigena
for each row execute procedure fn_tu_etniaindigena();--[lode]


create function fn_td_nacionalidade() returns opaque as '
declare
	numrows integer;										 
begin
    select count(*) into numrows
      from paciente
      where
        paciente.nli_codigo = old.nli_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela paciente.'';
    end if;


return old;
end;'
language 'plpgsql';--[lode]
					
create trigger td_nacionalidade
after delete on nacionalidade
for each row execute procedure fn_td_nacionalidade();--[lode]


create function fn_tu_nacionalidade() returns opaque as '
declare
	numrows integer;
        tmp varchar;										 
begin
  if
    (old.nli_codigo <> new.nli_codigo) then
    select count(*)
      from paciente
      where
        paciente.nli_codigo = old.nli_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela paciente.'';
    end if;
  end if;

return old;
end;'
language 'plpgsql';--[lode]
					
create trigger tu_nacionalidade
after update on nacionalidade
for each row execute procedure fn_tu_nacionalidade();--[lode]


drop function fn_td_paciente() cascade;--[lode]

create function fn_td_paciente() returns opaque as '
declare
	numrows integer;										 
begin
    select count(*) into numrows
      from historicoregistrocontato
      where
        historicoregistrocontato.fil_codigo = old.fil_codigo and
        historicoregistrocontato.pac_codigo = old.pac_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela historicoregistrocontato.'';
    end if;

    delete from acessowebpaciente
      where
        acessowebpaciente.fil_codigo = old.fil_codigo and
        acessowebpaciente.pac_codigo = old.pac_codigo;

    delete from logpushapp
      where
        logpushapp.fil_codigo = old.fil_codigo and
        logpushapp.pac_codigo = old.pac_codigo;

    select count(*) into numrows
      from logemail
      where
        logemail.fil_codigo = old.fil_codigo and
        logemail.pac_codigo = old.pac_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela logemail.'';
    end if;

    delete from exportaintegracaooperadora
      where
        exportaintegracaooperadora.fil_codigo = old.fil_codigo and
        exportaintegracaooperadora.pac_codigo = old.pac_codigo;

    delete from pacienteimagens
      where
        pacienteimagens.fil_codigo = old.fil_codigo and
        pacienteimagens.pac_codigo = old.pac_codigo;

    delete from logsms
      where
        logsms.fil_codigo = old.fil_codigo and
        logsms.pac_codigo = old.pac_codigo;

    select count(*) into numrows
      from requisicaoweb
      where
        requisicaoweb.fil_codigo = old.fil_codigo and
        requisicaoweb.pac_codigo = old.pac_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela requisicaoweb.'';
    end if;

    delete from contrassenharequisicao
      where
        contrassenharequisicao.fil_codigo = old.fil_codigo and
        contrassenharequisicao.pac_codigo = old.pac_codigo;

    select count(*) into numrows
      from materialenviado
      where
        materialenviado.fil_codigo = old.fil_codigo and
        materialenviado.pac_codigo = old.pac_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela materialenviado.'';
    end if;

    select count(*) into numrows
      from orcamento
      where
        orcamento.fil_codigo = old.fil_codigo and
        orcamento.pac_codigo = old.pac_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela orcamento.'';
    end if;

    select count(*) into numrows
      from loteapoio
      where
        loteapoio.fil_codigo = old.fil_codigo and
        loteapoio.pac_codigo = old.pac_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela loteapoio.'';
    end if;

    delete from exportaapoio
      where
        exportaapoio.fil_codigo = old.fil_codigo and
        exportaapoio.pac_codigo = old.pac_codigo;

    select count(*) into numrows
      from pacientelabexterno
      where
        pacientelabexterno.fil_codigo = old.fil_codigo and
        pacientelabexterno.pac_codigo = old.pac_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela pacientelabexterno.'';
    end if;

    delete from pacienteentidade
      where
        pacienteentidade.fil_codigo = old.fil_codigo and
        pacienteentidade.pac_codigo = old.pac_codigo;

    select count(*) into numrows
      from notafiscal
      where
        notafiscal.fil_codigo = old.fil_codigo and
        notafiscal.pac_codigo = old.pac_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela notafiscal.'';
    end if;

    select count(*) into numrows
      from receberpagar
      where
        receberpagar.fil_codigo = old.fil_codigo and
        receberpagar.pac_codigo = old.pac_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela receberpagar.'';
    end if;

    delete from pacientescontatos
      where
        pacientescontatos.fil_codigo = old.fil_codigo and
        pacientescontatos.pac_codigo = old.pac_codigo;

    delete from pacientemedicamento
      where
        pacientemedicamento.fil_codigo = old.fil_codigo and
        pacientemedicamento.pac_codigo = old.pac_codigo;

    delete from examescontrole
      where
        examescontrole.fil_codigo = old.fil_codigo and
        examescontrole.pac_codigo = old.pac_codigo;

    select count(*) into numrows
      from requisicao
      where
        requisicao.fil_codigo = old.fil_codigo and
        requisicao.pac_codigo = old.pac_codigo;
    if (numrows > 0) then
      raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela requisicao.'';
    end if;


return old;
end;'
language 'plpgsql';--[lode]
					
create trigger td_paciente
after delete on paciente
for each row execute procedure fn_td_paciente();--[lode]


drop function fn_ti_paciente() cascade;--[lode]

create function fn_ti_paciente() returns opaque as '
declare
	numrows integer;
	tmp varchar;									 
begin
    select count(*) into numrows
      from etniaindigena
      where
        new.ein_codigo = etniaindigena.ein_codigo;
    tmp:=''etniaindigena|'';
    
      tmp:=tmp || ''ein_codigo='' || new.ein_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);

    if (
      new.ein_codigo is not null and
      numrows = 0
    ) then
      raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela etniaindigena. chave para consulta:[%]'',tmp using errcode=upper(''ifkne'');
    end if;

    select count(*) into numrows
      from nacionalidade
      where
        new.nli_codigo = nacionalidade.nli_codigo;
    tmp:=''nacionalidade|'';
    
      tmp:=tmp || ''nli_codigo='' || new.nli_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);

    if (
      new.nli_codigo is not null and
      numrows = 0
    ) then
      raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela nacionalidade. chave para consulta:[%]'',tmp using errcode=upper(''ifkne'');
    end if;

    select count(*) into numrows
      from filiais_postocoleta
      where
        new.fil_codorigem = filiais_postocoleta.fil_codigo;
    tmp:=''filiais_postocoleta|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codorigem || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);

    if (
      new.fil_codorigem is not null and
      numrows = 0
    ) then
      raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela filiais_postocoleta. chave para consulta:[%]'',tmp using errcode=upper(''ifkne'');
    end if;

    select count(*) into numrows
      from entidade
      where
        new.fil_codigo = entidade.fil_codigo and
        new.ent_codempresa = entidade.ent_codigo;
    tmp:=''entidade|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
      tmp:=tmp || ''ent_codigo='' || new.ent_codempresa || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);

    if (
      new.fil_codigo is not null and
      new.ent_codempresa is not null and
      numrows = 0
    ) then
      raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela entidade. chave para consulta:[%]'',tmp using errcode=upper(''ifkne'');
    end if;

    select count(*) into numrows
      from indicacaopaciente
      where
        new.ind_codigo = indicacaopaciente.ind_codigo;
    tmp:=''indicacaopaciente|'';
    
      tmp:=tmp || ''ind_codigo='' || new.ind_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);

    if (
      new.ind_codigo is not null and
      numrows = 0
    ) then
      raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela indicacaopaciente. chave para consulta:[%]'',tmp using errcode=upper(''ifkne'');
    end if;

    select count(*) into numrows
      from usuario
      where
        new.usr_codimpressaocarteira = usuario.usr_codigo;
    tmp:=''usuario|'';
    
      tmp:=tmp || ''usr_codigo='' || new.usr_codimpressaocarteira || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);

    if (
      new.usr_codimpressaocarteira is not null and
      numrows = 0
    ) then
      raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne'');
    end if;

    select count(*) into numrows
      from celulaestoque
      where
        new.fil_codigo = celulaestoque.fil_codigo and
        new.cel_codigo = celulaestoque.cel_codigo;
    tmp:=''celulaestoque|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
      tmp:=tmp || ''cel_codigo='' || new.cel_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);

    if (
      new.fil_codigo is not null and
      new.cel_codigo is not null and
      numrows = 0
    ) then
      raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela celulaestoque. chave para consulta:[%]'',tmp using errcode=upper(''ifkne'');
    end if;

    select count(*) into numrows
      from usuario
      where
        new.usr_codalteracao = usuario.usr_codigo;
    tmp:=''usuario|'';
    
      tmp:=tmp || ''usr_codigo='' || new.usr_codalteracao || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);

    if (
      new.usr_codalteracao is not null and
      numrows = 0
    ) then
      raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne'');
    end if;

    select count(*) into numrows
      from layout
      where
        new.lay_codigoapoio = layout.lay_codigo and
        new.fil_codigo = layout.fil_codigo;
    tmp:=''layout|'';
    
      tmp:=tmp || ''lay_codigo='' || new.lay_codigoapoio || ''|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);

    if (
      new.lay_codigoapoio is not null and
      new.fil_codigo is not null and
      numrows = 0
    ) then
      raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela layout. chave para consulta:[%]'',tmp using errcode=upper(''ifkne'');
    end if;

    select count(*) into numrows
      from unidadesaude
      where
        new.fil_codigo = unidadesaude.fil_codigo and
        new.uns_codigo = unidadesaude.uns_codigo;
    tmp:=''unidadesaude|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
      tmp:=tmp || ''uns_codigo='' || new.uns_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);

    if (
      new.fil_codigo is not null and
      new.uns_codigo is not null and
      numrows = 0
    ) then
      raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela unidadesaude. chave para consulta:[%]'',tmp using errcode=upper(''ifkne'');
    end if;

    select count(*) into numrows
      from raca
      where
        new.fil_codigo = raca.fil_codigo and
        new.epc_codigo = raca.epc_codigo and
        new.rac_codigo = raca.rac_codigo;
    tmp:=''raca|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
      tmp:=tmp || ''epc_codigo='' || new.epc_codigo || ''|'';
    
      tmp:=tmp || ''rac_codigo='' || new.rac_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);

    if (
      new.fil_codigo is not null and
      new.epc_codigo is not null and
      new.rac_codigo is not null and
      numrows = 0
    ) then
      raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela raca. chave para consulta:[%]'',tmp using errcode=upper(''ifkne'');
    end if;

    select count(*) into numrows
      from cidades
      where
        new.fil_codigo = cidades.fil_codigo and
        new.cid_codigocobranca = cidades.cid_codigo;
    tmp:=''cidades|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
      tmp:=tmp || ''cid_codigo='' || new.cid_codigocobranca || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);

    if (
      new.fil_codigo is not null and
      new.cid_codigocobranca is not null and
      numrows = 0
    ) then
      raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela cidades. chave para consulta:[%]'',tmp using errcode=upper(''ifkne'');
    end if;

    select count(*) into numrows
      from bairro
      where
        new.fil_codigo = bairro.fil_codigo and
        new.bai_codigocobranca = bairro.bai_codigo;
    tmp:=''bairro|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
      tmp:=tmp || ''bai_codigo='' || new.bai_codigocobranca || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);

    if (
      new.fil_codigo is not null and
      new.bai_codigocobranca is not null and
      numrows = 0
    ) then
      raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela bairro. chave para consulta:[%]'',tmp using errcode=upper(''ifkne'');
    end if;

    select count(*) into numrows
      from bairro
      where
        new.fil_codigo = bairro.fil_codigo and
        new.bai_codigo = bairro.bai_codigo;
    tmp:=''bairro|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
      tmp:=tmp || ''bai_codigo='' || new.bai_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);

    if (
      new.fil_codigo is not null and
      new.bai_codigo is not null and
      numrows = 0
    ) then
      raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela bairro. chave para consulta:[%]'',tmp using errcode=upper(''ifkne'');
    end if;

    select count(*) into numrows
      from cidades
      where
        new.fil_codigo = cidades.fil_codigo and
        new.cid_codigo = cidades.cid_codigo;
    tmp:=''cidades|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
      tmp:=tmp || ''cid_codigo='' || new.cid_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);

    if (
      new.fil_codigo is not null and
      new.cid_codigo is not null and
      numrows = 0
    ) then
      raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela cidades. chave para consulta:[%]'',tmp using errcode=upper(''ifkne'');
    end if;

    select count(*) into numrows
      from convenios
      where
        new.fil_codigo = convenios.fil_codigo and
        new.con_codigo = convenios.con_codigo;
    tmp:=''convenios|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
      tmp:=tmp || ''con_codigo='' || new.con_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);

    if (
      new.fil_codigo is not null and
      new.con_codigo is not null and
      numrows = 0
    ) then
      raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela convenios. chave para consulta:[%]'',tmp using errcode=upper(''ifkne'');
    end if;

    select count(*) into numrows
      from medico
      where
        new.fil_codigo = medico.fil_codigo and
        new.med_conselho = medico.med_conselho and
        new.med_crm = medico.med_crm and
        new.med_uf = medico.med_uf;
    tmp:=''medico|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
      tmp:=tmp || ''med_conselho='' || new.med_conselho || ''|'';
    
      tmp:=tmp || ''med_crm='' || new.med_crm || ''|'';
    
      tmp:=tmp || ''med_uf='' || new.med_uf || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);

    if (
      new.fil_codigo is not null and
      new.med_conselho is not null and
      new.med_crm is not null and
      new.med_uf is not null and
      numrows = 0
    ) then
      raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela medico. chave para consulta:[%]'',tmp using errcode=upper(''ifkne'');
    end if;

    select count(*) into numrows
      from usuario
      where
        new.usr_codigo = usuario.usr_codigo;
    tmp:=''usuario|'';
    
      tmp:=tmp || ''usr_codigo='' || new.usr_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);

    if (
      new.usr_codigo is not null and
      numrows = 0
    ) then
      raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne'');
    end if;

    select count(*) into numrows
      from filiais_postocoleta
      where
        new.fil_codigo = filiais_postocoleta.fil_codigo;
    tmp:=''filiais_postocoleta|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);

    if (
      
      numrows = 0
    ) then
      raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela filiais_postocoleta. chave para consulta:[%]'',tmp using errcode=upper(''ifkne'');
    end if;


return new;
end;'
language 'plpgsql';--[lode]
					
create trigger ti_paciente
after insert on paciente
for each row execute procedure fn_ti_paciente();--[lode]


drop function fn_tu_paciente() cascade;--[lode]

create function fn_tu_paciente() returns opaque as '
declare
	numrows integer;
        tmp varchar;										 
begin
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.pac_codigo <> new.pac_codigo) then
    select count(*)
      from historicoregistrocontato
      where
        historicoregistrocontato.fil_codigo = old.fil_codigo and
        historicoregistrocontato.pac_codigo = old.pac_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela historicoregistrocontato.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.pac_codigo <> new.pac_codigo) then
    select count(*)
      from acessowebpaciente
      where
        acessowebpaciente.fil_codigo = old.fil_codigo and
        acessowebpaciente.pac_codigo = old.pac_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela acessowebpaciente.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.pac_codigo <> new.pac_codigo) then
    select count(*)
      from logpushapp
      where
        logpushapp.fil_codigo = old.fil_codigo and
        logpushapp.pac_codigo = old.pac_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela logpushapp.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.pac_codigo <> new.pac_codigo) then
    select count(*)
      from logemail
      where
        logemail.fil_codigo = old.fil_codigo and
        logemail.pac_codigo = old.pac_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela logemail.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.pac_codigo <> new.pac_codigo) then
    select count(*)
      from exportaintegracaooperadora
      where
        exportaintegracaooperadora.fil_codigo = old.fil_codigo and
        exportaintegracaooperadora.pac_codigo = old.pac_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela exportaintegracaooperadora.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.pac_codigo <> new.pac_codigo) then
    select count(*)
      from pacienteimagens
      where
        pacienteimagens.fil_codigo = old.fil_codigo and
        pacienteimagens.pac_codigo = old.pac_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela pacienteimagens.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.pac_codigo <> new.pac_codigo) then
    select count(*)
      from logsms
      where
        logsms.fil_codigo = old.fil_codigo and
        logsms.pac_codigo = old.pac_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela logsms.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.pac_codigo <> new.pac_codigo) then
    select count(*)
      from requisicaoweb
      where
        requisicaoweb.fil_codigo = old.fil_codigo and
        requisicaoweb.pac_codigo = old.pac_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela requisicaoweb.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.pac_codigo <> new.pac_codigo) then
    select count(*)
      from contrassenharequisicao
      where
        contrassenharequisicao.fil_codigo = old.fil_codigo and
        contrassenharequisicao.pac_codigo = old.pac_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela contrassenharequisicao.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.pac_codigo <> new.pac_codigo) then
    select count(*)
      from materialenviado
      where
        materialenviado.fil_codigo = old.fil_codigo and
        materialenviado.pac_codigo = old.pac_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela materialenviado.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.pac_codigo <> new.pac_codigo) then
    select count(*)
      from orcamento
      where
        orcamento.fil_codigo = old.fil_codigo and
        orcamento.pac_codigo = old.pac_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela orcamento.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.pac_codigo <> new.pac_codigo) then
    select count(*)
      from loteapoio
      where
        loteapoio.fil_codigo = old.fil_codigo and
        loteapoio.pac_codigo = old.pac_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela loteapoio.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.pac_codigo <> new.pac_codigo) then
    select count(*)
      from exportaapoio
      where
        exportaapoio.fil_codigo = old.fil_codigo and
        exportaapoio.pac_codigo = old.pac_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela exportaapoio.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.pac_codigo <> new.pac_codigo) then
    select count(*)
      from pacientelabexterno
      where
        pacientelabexterno.fil_codigo = old.fil_codigo and
        pacientelabexterno.pac_codigo = old.pac_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela pacientelabexterno.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.pac_codigo <> new.pac_codigo) then
    select count(*)
      from pacienteentidade
      where
        pacienteentidade.fil_codigo = old.fil_codigo and
        pacienteentidade.pac_codigo = old.pac_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela pacienteentidade.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.pac_codigo <> new.pac_codigo) then
    select count(*)
      from notafiscal
      where
        notafiscal.fil_codigo = old.fil_codigo and
        notafiscal.pac_codigo = old.pac_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela notafiscal.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.pac_codigo <> new.pac_codigo) then
    select count(*)
      from receberpagar
      where
        receberpagar.fil_codigo = old.fil_codigo and
        receberpagar.pac_codigo = old.pac_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela receberpagar.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.pac_codigo <> new.pac_codigo) then
    select count(*)
      from pacientescontatos
      where
        pacientescontatos.fil_codigo = old.fil_codigo and
        pacientescontatos.pac_codigo = old.pac_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela pacientescontatos.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.pac_codigo <> new.pac_codigo) then
    select count(*)
      from pacientemedicamento
      where
        pacientemedicamento.fil_codigo = old.fil_codigo and
        pacientemedicamento.pac_codigo = old.pac_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela pacientemedicamento.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.pac_codigo <> new.pac_codigo) then
    select count(*)
      from examescontrole
      where
        examescontrole.fil_codigo = old.fil_codigo and
        examescontrole.pac_codigo = old.pac_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examescontrole.'';
    end if;
  end if;
  if
    (old.fil_codigo <> new.fil_codigo or 
     old.pac_codigo <> new.pac_codigo) then
    select count(*)
      from requisicao
      where
        requisicao.fil_codigo = old.fil_codigo and
        requisicao.pac_codigo = old.pac_codigo into numrows;
    if (numrows > 0) then
     raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela requisicao.'';
    end if;
  end if;
  select count(*) into numrows
    from etniaindigena
    where
      new.ein_codigo = etniaindigena.ein_codigo;
    tmp:=''etniaindigena|'';
    
      tmp:=tmp || ''ein_codigo='' || new.ein_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);
  if (
    new.ein_codigo is not null and
    numrows = 0
  ) then
    raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela etniaindigena. chave para consulta:[%]'',tmp using errcode=upper(''ufkne'');
  end if;

  select count(*) into numrows
    from nacionalidade
    where
      new.nli_codigo = nacionalidade.nli_codigo;
    tmp:=''nacionalidade|'';
    
      tmp:=tmp || ''nli_codigo='' || new.nli_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);
  if (
    new.nli_codigo is not null and
    numrows = 0
  ) then
    raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela nacionalidade. chave para consulta:[%]'',tmp using errcode=upper(''ufkne'');
  end if;

  select count(*) into numrows
    from filiais_postocoleta
    where
      new.fil_codorigem = filiais_postocoleta.fil_codigo;
    tmp:=''filiais_postocoleta|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codorigem || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);
  if (
    new.fil_codorigem is not null and
    numrows = 0
  ) then
    raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela filiais_postocoleta. chave para consulta:[%]'',tmp using errcode=upper(''ufkne'');
  end if;

  select count(*) into numrows
    from entidade
    where
      new.fil_codigo = entidade.fil_codigo and
      new.ent_codempresa = entidade.ent_codigo;
    tmp:=''entidade|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
      tmp:=tmp || ''ent_codigo='' || new.ent_codempresa || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);
  if (
    new.fil_codigo is not null and
    new.ent_codempresa is not null and
    numrows = 0
  ) then
    raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela entidade. chave para consulta:[%]'',tmp using errcode=upper(''ufkne'');
  end if;

  select count(*) into numrows
    from indicacaopaciente
    where
      new.ind_codigo = indicacaopaciente.ind_codigo;
    tmp:=''indicacaopaciente|'';
    
      tmp:=tmp || ''ind_codigo='' || new.ind_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);
  if (
    new.ind_codigo is not null and
    numrows = 0
  ) then
    raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela indicacaopaciente. chave para consulta:[%]'',tmp using errcode=upper(''ufkne'');
  end if;

  select count(*) into numrows
    from usuario
    where
      new.usr_codimpressaocarteira = usuario.usr_codigo;
    tmp:=''usuario|'';
    
      tmp:=tmp || ''usr_codigo='' || new.usr_codimpressaocarteira || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);
  if (
    new.usr_codimpressaocarteira is not null and
    numrows = 0
  ) then
    raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne'');
  end if;

  select count(*) into numrows
    from celulaestoque
    where
      new.fil_codigo = celulaestoque.fil_codigo and
      new.cel_codigo = celulaestoque.cel_codigo;
    tmp:=''celulaestoque|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
      tmp:=tmp || ''cel_codigo='' || new.cel_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);
  if (
    new.fil_codigo is not null and
    new.cel_codigo is not null and
    numrows = 0
  ) then
    raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela celulaestoque. chave para consulta:[%]'',tmp using errcode=upper(''ufkne'');
  end if;

  select count(*) into numrows
    from usuario
    where
      new.usr_codalteracao = usuario.usr_codigo;
    tmp:=''usuario|'';
    
      tmp:=tmp || ''usr_codigo='' || new.usr_codalteracao || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);
  if (
    new.usr_codalteracao is not null and
    numrows = 0
  ) then
    raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne'');
  end if;

  select count(*) into numrows
    from layout
    where
      new.lay_codigoapoio = layout.lay_codigo and
      new.fil_codigo = layout.fil_codigo;
    tmp:=''layout|'';
    
      tmp:=tmp || ''lay_codigo='' || new.lay_codigoapoio || ''|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);
  if (
    new.lay_codigoapoio is not null and
    new.fil_codigo is not null and
    numrows = 0
  ) then
    raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela layout. chave para consulta:[%]'',tmp using errcode=upper(''ufkne'');
  end if;

  select count(*) into numrows
    from unidadesaude
    where
      new.fil_codigo = unidadesaude.fil_codigo and
      new.uns_codigo = unidadesaude.uns_codigo;
    tmp:=''unidadesaude|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
      tmp:=tmp || ''uns_codigo='' || new.uns_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);
  if (
    new.fil_codigo is not null and
    new.uns_codigo is not null and
    numrows = 0
  ) then
    raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela unidadesaude. chave para consulta:[%]'',tmp using errcode=upper(''ufkne'');
  end if;

  select count(*) into numrows
    from raca
    where
      new.fil_codigo = raca.fil_codigo and
      new.epc_codigo = raca.epc_codigo and
      new.rac_codigo = raca.rac_codigo;
    tmp:=''raca|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
      tmp:=tmp || ''epc_codigo='' || new.epc_codigo || ''|'';
    
      tmp:=tmp || ''rac_codigo='' || new.rac_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);
  if (
    new.fil_codigo is not null and
    new.epc_codigo is not null and
    new.rac_codigo is not null and
    numrows = 0
  ) then
    raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela raca. chave para consulta:[%]'',tmp using errcode=upper(''ufkne'');
  end if;

  select count(*) into numrows
    from cidades
    where
      new.fil_codigo = cidades.fil_codigo and
      new.cid_codigocobranca = cidades.cid_codigo;
    tmp:=''cidades|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
      tmp:=tmp || ''cid_codigo='' || new.cid_codigocobranca || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);
  if (
    new.fil_codigo is not null and
    new.cid_codigocobranca is not null and
    numrows = 0
  ) then
    raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela cidades. chave para consulta:[%]'',tmp using errcode=upper(''ufkne'');
  end if;

  select count(*) into numrows
    from bairro
    where
      new.fil_codigo = bairro.fil_codigo and
      new.bai_codigocobranca = bairro.bai_codigo;
    tmp:=''bairro|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
      tmp:=tmp || ''bai_codigo='' || new.bai_codigocobranca || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);
  if (
    new.fil_codigo is not null and
    new.bai_codigocobranca is not null and
    numrows = 0
  ) then
    raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela bairro. chave para consulta:[%]'',tmp using errcode=upper(''ufkne'');
  end if;

  select count(*) into numrows
    from bairro
    where
      new.fil_codigo = bairro.fil_codigo and
      new.bai_codigo = bairro.bai_codigo;
    tmp:=''bairro|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
      tmp:=tmp || ''bai_codigo='' || new.bai_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);
  if (
    new.fil_codigo is not null and
    new.bai_codigo is not null and
    numrows = 0
  ) then
    raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela bairro. chave para consulta:[%]'',tmp using errcode=upper(''ufkne'');
  end if;

  select count(*) into numrows
    from cidades
    where
      new.fil_codigo = cidades.fil_codigo and
      new.cid_codigo = cidades.cid_codigo;
    tmp:=''cidades|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
      tmp:=tmp || ''cid_codigo='' || new.cid_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);
  if (
    new.fil_codigo is not null and
    new.cid_codigo is not null and
    numrows = 0
  ) then
    raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela cidades. chave para consulta:[%]'',tmp using errcode=upper(''ufkne'');
  end if;

  select count(*) into numrows
    from convenios
    where
      new.fil_codigo = convenios.fil_codigo and
      new.con_codigo = convenios.con_codigo;
    tmp:=''convenios|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
      tmp:=tmp || ''con_codigo='' || new.con_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);
  if (
    new.fil_codigo is not null and
    new.con_codigo is not null and
    numrows = 0
  ) then
    raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela convenios. chave para consulta:[%]'',tmp using errcode=upper(''ufkne'');
  end if;

  select count(*) into numrows
    from medico
    where
      new.fil_codigo = medico.fil_codigo and
      new.med_conselho = medico.med_conselho and
      new.med_crm = medico.med_crm and
      new.med_uf = medico.med_uf;
    tmp:=''medico|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
      tmp:=tmp || ''med_conselho='' || new.med_conselho || ''|'';
    
      tmp:=tmp || ''med_crm='' || new.med_crm || ''|'';
    
      tmp:=tmp || ''med_uf='' || new.med_uf || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);
  if (
    new.fil_codigo is not null and
    new.med_conselho is not null and
    new.med_crm is not null and
    new.med_uf is not null and
    numrows = 0
  ) then
    raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela medico. chave para consulta:[%]'',tmp using errcode=upper(''ufkne'');
  end if;

  select count(*) into numrows
    from usuario
    where
      new.usr_codigo = usuario.usr_codigo;
    tmp:=''usuario|'';
    
      tmp:=tmp || ''usr_codigo='' || new.usr_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);
  if (
    new.usr_codigo is not null and
    numrows = 0
  ) then
    raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne'');
  end if;

  select count(*) into numrows
    from filiais_postocoleta
    where
      new.fil_codigo = filiais_postocoleta.fil_codigo;
    tmp:=''filiais_postocoleta|'';
    
      tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|'';
    
    tmp:=substring(tmp,1,length(tmp)-1);
  if (
    
    numrows = 0
  ) then
    raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela filiais_postocoleta. chave para consulta:[%]'',tmp using errcode=upper(''ufkne'');
  end if;


return old;
end;'
language 'plpgsql';--[lode]
					
create trigger tu_paciente
after update on paciente
for each row execute procedure fn_tu_paciente();--[lode]


insert into atualizacoes(atu_nome) values ('v22070005_120922sql');  --[lode]


insert into nacionalidade(nli_codigo, nli_descricao) values (170, 'Abissínia');
insert into nacionalidade(nli_codigo, nli_descricao) values (171, 'Açores');
insert into nacionalidade(nli_codigo, nli_descricao) values (172, 'Afar Frances');
insert into nacionalidade(nli_codigo, nli_descricao) values (241, 'Afeganistão');
insert into nacionalidade(nli_codigo, nli_descricao) values (093, 'Albânia');
insert into nacionalidade(nli_codigo, nli_descricao) values (030, 'Alemanha');
insert into nacionalidade(nli_codigo, nli_descricao) values (174, 'Alto Volta');
insert into nacionalidade(nli_codigo, nli_descricao) values (094, 'Andorra');
insert into nacionalidade(nli_codigo, nli_descricao) values (175, 'Angola');
insert into nacionalidade(nli_codigo, nli_descricao) values (334, 'Antártica Francesa');
insert into nacionalidade(nli_codigo, nli_descricao) values (337, 'Antártico Argentino');
insert into nacionalidade(nli_codigo, nli_descricao) values (333, 'Antártico Britânico, Território');
insert into nacionalidade(nli_codigo, nli_descricao) values (336, 'Antártico Chileno');
insert into nacionalidade(nli_codigo, nli_descricao) values (338, 'Antártico Noruegues');
insert into nacionalidade(nli_codigo, nli_descricao) values (028, 'Antígua E. Dep. Barbuda');
insert into nacionalidade(nli_codigo, nli_descricao) values (029, 'Antilhas Holandesas');
insert into nacionalidade(nli_codigo, nli_descricao) values (339, 'Apatrida');
insert into nacionalidade(nli_codigo, nli_descricao) values (242, 'Arábia Saudita');
insert into nacionalidade(nli_codigo, nli_descricao) values (176, 'Argélia');
insert into nacionalidade(nli_codigo, nli_descricao) values (021, 'Argentina');
insert into nacionalidade(nli_codigo, nli_descricao) values (347, 'Armênia');
insert into nacionalidade(nli_codigo, nli_descricao) values (289, 'Arquipélago de Bismark');
insert into nacionalidade(nli_codigo, nli_descricao) values (285, 'Arquipélago Manahiki');
insert into nacionalidade(nli_codigo, nli_descricao) values (286, 'Arquipélago Midway');
insert into nacionalidade(nli_codigo, nli_descricao) values (033, 'Aruba');
insert into nacionalidade(nli_codigo, nli_descricao) values (198, 'Ascensão e Tristão da Cunha,Is');
insert into nacionalidade(nli_codigo, nli_descricao) values (287, 'Ashmore e Cartier');
insert into nacionalidade(nli_codigo, nli_descricao) values (288, 'Austrália');
insert into nacionalidade(nli_codigo, nli_descricao) values (095, 'Áustria');
insert into nacionalidade(nli_codigo, nli_descricao) values (138, 'Azerbaijão');
insert into nacionalidade(nli_codigo, nli_descricao) values (243, 'Bahrein');
insert into nacionalidade(nli_codigo, nli_descricao) values (342, 'Bangladesh');
insert into nacionalidade(nli_codigo, nli_descricao) values (139, 'Bashkista');
insert into nacionalidade(nli_codigo, nli_descricao) values (044, 'Barbados');
insert into nacionalidade(nli_codigo, nli_descricao) values (177, 'Bechuanalândia');
insert into nacionalidade(nli_codigo, nli_descricao) values (031, 'Bélgica');
insert into nacionalidade(nli_codigo, nli_descricao) values (046, 'Belize');
insert into nacionalidade(nli_codigo, nli_descricao) values (178, 'Benin');
insert into nacionalidade(nli_codigo, nli_descricao) values (083, 'Bermudas');
insert into nacionalidade(nli_codigo, nli_descricao) values (246, 'Bhutan');
insert into nacionalidade(nli_codigo, nli_descricao) values (244, 'Birmânia');
insert into nacionalidade(nli_codigo, nli_descricao) values (022, 'Bolívia');
insert into nacionalidade(nli_codigo, nli_descricao) values (134, 'Bósnia Herzegovina');
insert into nacionalidade(nli_codigo, nli_descricao) values (179, 'Botsuana');
insert into nacionalidade(nli_codigo, nli_descricao) values (010, 'Brasil');
insert into nacionalidade(nli_codigo, nli_descricao) values (245, 'Brunei');
insert into nacionalidade(nli_codigo, nli_descricao) values (096, 'Bulgária');
insert into nacionalidade(nli_codigo, nli_descricao) values (238, 'Burkina Fasso');
insert into nacionalidade(nli_codigo, nli_descricao) values (180, 'Burundi');
insert into nacionalidade(nli_codigo, nli_descricao) values (141, 'Buryat');
insert into nacionalidade(nli_codigo, nli_descricao) values (343, 'Cabo Verde');
insert into nacionalidade(nli_codigo, nli_descricao) values (181, 'Camarões');
insert into nacionalidade(nli_codigo, nli_descricao) values (034, 'Canadá');
insert into nacionalidade(nli_codigo, nli_descricao) values (142, 'Carelia');
insert into nacionalidade(nli_codigo, nli_descricao) values (247, 'Catar');
insert into nacionalidade(nli_codigo, nli_descricao) values (143, 'Cazaquistão');
insert into nacionalidade(nli_codigo, nli_descricao) values (248, 'Ceilão');
insert into nacionalidade(nli_codigo, nli_descricao) values (182, 'Ceuta e Melilla');
insert into nacionalidade(nli_codigo, nli_descricao) values (183, 'Chade');
insert into nacionalidade(nli_codigo, nli_descricao) values (144, 'Chechen Ingusth');
insert into nacionalidade(nli_codigo, nli_descricao) values (023, 'Chile');
insert into nacionalidade(nli_codigo, nli_descricao) values (042, 'China');
insert into nacionalidade(nli_codigo, nli_descricao) values (249, 'China (Taiwan)');
insert into nacionalidade(nli_codigo, nli_descricao) values (097, 'Chipre');
insert into nacionalidade(nli_codigo, nli_descricao) values (145, 'Chuvash');
insert into nacionalidade(nli_codigo, nli_descricao) values (275, 'Cingapura');
insert into nacionalidade(nli_codigo, nli_descricao) values (026, 'Colômbia');
insert into nacionalidade(nli_codigo, nli_descricao) values (040, 'Comunidade das Bahamas');
insert into nacionalidade(nli_codigo, nli_descricao) values (054, 'Comunidade Dominicana');
insert into nacionalidade(nli_codigo, nli_descricao) values (185, 'Congo');
insert into nacionalidade(nli_codigo, nli_descricao) values (043, 'Coréia');
insert into nacionalidade(nli_codigo, nli_descricao) values (186, 'Costa do Marfim');
insert into nacionalidade(nli_codigo, nli_descricao) values (051, 'Costa Rica');
insert into nacionalidade(nli_codigo, nli_descricao) values (250, 'Coveite');
insert into nacionalidade(nli_codigo, nli_descricao) values (130, 'Croácia');
insert into nacionalidade(nli_codigo, nli_descricao) values (052, 'Cuba');
insert into nacionalidade(nli_codigo, nli_descricao) values (053, 'Curaçao');
insert into nacionalidade(nli_codigo, nli_descricao) values (146, 'Dagesta');
insert into nacionalidade(nli_codigo, nli_descricao) values (187, 'Daomé');
insert into nacionalidade(nli_codigo, nli_descricao) values (340, 'Dependência De Ross');
insert into nacionalidade(nli_codigo, nli_descricao) values (098, 'Dinamarca');
insert into nacionalidade(nli_codigo, nli_descricao) values (188, 'Djibuti');
insert into nacionalidade(nli_codigo, nli_descricao) values (099, 'Eire');
insert into nacionalidade(nli_codigo, nli_descricao) values (251, 'Emirados Árabes Unidos');
insert into nacionalidade(nli_codigo, nli_descricao) values (027, 'Equador');
insert into nacionalidade(nli_codigo, nli_descricao) values (100, 'Escócia');
insert into nacionalidade(nli_codigo, nli_descricao) values (136, 'Eslováquia');
insert into nacionalidade(nli_codigo, nli_descricao) values (132, 'Eslovênia');
insert into nacionalidade(nli_codigo, nli_descricao) values (035, 'Espanha');
insert into nacionalidade(nli_codigo, nli_descricao) values (129, 'Estado da Cidade do Vaticano');
insert into nacionalidade(nli_codigo, nli_descricao) values (057, 'Estados Assoc. das Antilhas');
insert into nacionalidade(nli_codigo, nli_descricao) values (036, 'Estados Unidos da América (EUA)');
insert into nacionalidade(nli_codigo, nli_descricao) values (147, 'Estônia');
insert into nacionalidade(nli_codigo, nli_descricao) values (190, 'Etiópia');
insert into nacionalidade(nli_codigo, nli_descricao) values (252, 'Filipinas');
insert into nacionalidade(nli_codigo, nli_descricao) values (102, 'Finlândia');
insert into nacionalidade(nli_codigo, nli_descricao) values (037, 'França');
insert into nacionalidade(nli_codigo, nli_descricao) values (192, 'Gâmbia');
insert into nacionalidade(nli_codigo, nli_descricao) values (193, 'Gana');
insert into nacionalidade(nli_codigo, nli_descricao) values (194, 'Gaza');
insert into nacionalidade(nli_codigo, nli_descricao) values (148, 'Geórgia');
insert into nacionalidade(nli_codigo, nli_descricao) values (103, 'Gibraltar');
insert into nacionalidade(nli_codigo, nli_descricao) values (149, 'Gorno Altai');
insert into nacionalidade(nli_codigo, nli_descricao) values (032, 'Grã-Bretanha');
insert into nacionalidade(nli_codigo, nli_descricao) values (059, 'Granada');
insert into nacionalidade(nli_codigo, nli_descricao) values (104, 'Grécia');
insert into nacionalidade(nli_codigo, nli_descricao) values (084, 'Groenlândia');
insert into nacionalidade(nli_codigo, nli_descricao) values (292, 'Guam');
insert into nacionalidade(nli_codigo, nli_descricao) values (061, 'Guatemala');
insert into nacionalidade(nli_codigo, nli_descricao) values (087, 'Guiana Francesa');
insert into nacionalidade(nli_codigo, nli_descricao) values (195, 'Guiné');
insert into nacionalidade(nli_codigo, nli_descricao) values (344, 'Guiné Bissau');
insert into nacionalidade(nli_codigo, nli_descricao) values (196, 'Guiné Equatorial');
insert into nacionalidade(nli_codigo, nli_descricao) values (105, 'Holanda');
insert into nacionalidade(nli_codigo, nli_descricao) values (064, 'Honduras');
insert into nacionalidade(nli_codigo, nli_descricao) values (063, 'Honduras Britânicas');
insert into nacionalidade(nli_codigo, nli_descricao) values (253, 'Hong-Kong');
insert into nacionalidade(nli_codigo, nli_descricao) values (106, 'Hungria');
insert into nacionalidade(nli_codigo, nli_descricao) values (254, 'Iemen');
insert into nacionalidade(nli_codigo, nli_descricao) values (345, 'Iemen do Sul');
insert into nacionalidade(nli_codigo, nli_descricao) values (197, 'Ifni');
insert into nacionalidade(nli_codigo, nli_descricao) values (300, 'Ilha Johnston e Sand');
insert into nacionalidade(nli_codigo, nli_descricao) values (069, 'Ilha Milhos');
insert into nacionalidade(nli_codigo, nli_descricao) values (293, 'Ilhas Baker');
insert into nacionalidade(nli_codigo, nli_descricao) values (107, 'Ilhas Baleares');
insert into nacionalidade(nli_codigo, nli_descricao) values (199, 'Ilhas Canárias');
insert into nacionalidade(nli_codigo, nli_descricao) values (294, 'Ilhas Cantão e Enderburg');
insert into nacionalidade(nli_codigo, nli_descricao) values (295, 'Ilhas Carolinas');
insert into nacionalidade(nli_codigo, nli_descricao) values (297, 'Ilhas Christmas');
insert into nacionalidade(nli_codigo, nli_descricao) values (184, 'Ilhas Comores');
insert into nacionalidade(nli_codigo, nli_descricao) values (290, 'Ilhas Cook');
insert into nacionalidade(nli_codigo, nli_descricao) values (108, 'Ilhas Cosmoledo (Lomores)');
insert into nacionalidade(nli_codigo, nli_descricao) values (117, 'Ilhas de Man');
insert into nacionalidade(nli_codigo, nli_descricao) values (109, 'Ilhas do Canal');
insert into nacionalidade(nli_codigo, nli_descricao) values (296, 'Ilhas do Pacífico');
insert into nacionalidade(nli_codigo, nli_descricao) values (058, 'Ilhas Falklands');
insert into nacionalidade(nli_codigo, nli_descricao) values (101, 'Ilhas Faroes');
insert into nacionalidade(nli_codigo, nli_descricao) values (298, 'Ilhas Gilbert');
insert into nacionalidade(nli_codigo, nli_descricao) values (060, 'Ilhas Guadalupe');
insert into nacionalidade(nli_codigo, nli_descricao) values (299, 'Ilhas Howland e Jarvis');
insert into nacionalidade(nli_codigo, nli_descricao) values (301, 'Ilhas Kingman Reef');
insert into nacionalidade(nli_codigo, nli_descricao) values (313, 'Ilhas Linha');
insert into nacionalidade(nli_codigo, nli_descricao) values (305, 'Ilhas Macdonal e Heard');
insert into nacionalidade(nli_codigo, nli_descricao) values (302, 'Ilhas Macquaire');
insert into nacionalidade(nli_codigo, nli_descricao) values (067, 'Ilhas Malvinas');
insert into nacionalidade(nli_codigo, nli_descricao) values (303, 'Ilhas Marianas');
insert into nacionalidade(nli_codigo, nli_descricao) values (304, 'Ilhas Marshall');
insert into nacionalidade(nli_codigo, nli_descricao) values (306, 'Ilhas Niue');
insert into nacionalidade(nli_codigo, nli_descricao) values (307, 'Ilhas Norfolk');
insert into nacionalidade(nli_codigo, nli_descricao) values (315, 'Ilhas Nova Caledônia');
insert into nacionalidade(nli_codigo, nli_descricao) values (318, 'Ilhas Novas Hebridas');
insert into nacionalidade(nli_codigo, nli_descricao) values (308, 'Ilhas Palau');
insert into nacionalidade(nli_codigo, nli_descricao) values (320, 'Ilhas Páscoa');
insert into nacionalidade(nli_codigo, nli_descricao) values (321, 'Ilhas Pitcairin');
insert into nacionalidade(nli_codigo, nli_descricao) values (309, 'Ilhas Salommo');
insert into nacionalidade(nli_codigo, nli_descricao) values (326, 'Ilhas Santa Cruz');
insert into nacionalidade(nli_codigo, nli_descricao) values (065, 'Ilhas Serranas');
insert into nacionalidade(nli_codigo, nli_descricao) values (310, 'Ilhas Tokelau');
insert into nacionalidade(nli_codigo, nli_descricao) values (080, 'Ilhas Turca');
insert into nacionalidade(nli_codigo, nli_descricao) values (047, 'Ilhas Turks e Caicos');
insert into nacionalidade(nli_codigo, nli_descricao) values (082, 'Ilhas Virgens Americanas');
insert into nacionalidade(nli_codigo, nli_descricao) values (081, 'Ilhas Virgens Britânicas');
insert into nacionalidade(nli_codigo, nli_descricao) values (311, 'Ilhas Wake');
insert into nacionalidade(nli_codigo, nli_descricao) values (332, 'Ilhas Wallis e Futuna');
insert into nacionalidade(nli_codigo, nli_descricao) values (255, 'Índia');
insert into nacionalidade(nli_codigo, nli_descricao) values (256, 'Indonésia');
insert into nacionalidade(nli_codigo, nli_descricao) values (110, 'Inglaterra');
insert into nacionalidade(nli_codigo, nli_descricao) values (257, 'Irã');
insert into nacionalidade(nli_codigo, nli_descricao) values (258, 'Iraque');
insert into nacionalidade(nli_codigo, nli_descricao) values (112, 'Irlanda');
insert into nacionalidade(nli_codigo, nli_descricao) values (111, 'Irlanda do Norte');
insert into nacionalidade(nli_codigo, nli_descricao) values (113, 'Islândia');
insert into nacionalidade(nli_codigo, nli_descricao) values (259, 'Israel');
insert into nacionalidade(nli_codigo, nli_descricao) values (039, 'Itália');
insert into nacionalidade(nli_codigo, nli_descricao) values (114, 'Iugoslávia');
insert into nacionalidade(nli_codigo, nli_descricao) values (066, 'Jamaica');
insert into nacionalidade(nli_codigo, nli_descricao) values (041, 'Japão');
insert into nacionalidade(nli_codigo, nli_descricao) values (260, 'Jordânia');
insert into nacionalidade(nli_codigo, nli_descricao) values (150, 'Kabardino Balkar');
insert into nacionalidade(nli_codigo, nli_descricao) values (312, 'Kalimatan');
insert into nacionalidade(nli_codigo, nli_descricao) values (151, 'Kalmir');
insert into nacionalidade(nli_codigo, nli_descricao) values (346, 'Kara Kalpak');
insert into nacionalidade(nli_codigo, nli_descricao) values (152, 'Karachaevocherkess');
insert into nacionalidade(nli_codigo, nli_descricao) values (153, 'Khakass');
insert into nacionalidade(nli_codigo, nli_descricao) values (261, 'Kmer/Camboja');
insert into nacionalidade(nli_codigo, nli_descricao) values (154, 'Komi');
insert into nacionalidade(nli_codigo, nli_descricao) values (262, 'Kuwait');
insert into nacionalidade(nli_codigo, nli_descricao) values (263, 'Laos');
insert into nacionalidade(nli_codigo, nli_descricao) values (200, 'Lesoto');
insert into nacionalidade(nli_codigo, nli_descricao) values (155, 'Letônia');
insert into nacionalidade(nli_codigo, nli_descricao) values (264, 'Líbano');
insert into nacionalidade(nli_codigo, nli_descricao) values (201, 'Libéria');
insert into nacionalidade(nli_codigo, nli_descricao) values (202, 'Líbia');
insert into nacionalidade(nli_codigo, nli_descricao) values (115, 'Liechtenstein');
insert into nacionalidade(nli_codigo, nli_descricao) values (156, 'Lituânia');
insert into nacionalidade(nli_codigo, nli_descricao) values (116, 'Luxemburgo');
insert into nacionalidade(nli_codigo, nli_descricao) values (265, 'Macau');
insert into nacionalidade(nli_codigo, nli_descricao) values (205, 'Madagascar');
insert into nacionalidade(nli_codigo, nli_descricao) values (203, 'Madeira');
insert into nacionalidade(nli_codigo, nli_descricao) values (266, 'Malásia');
insert into nacionalidade(nli_codigo, nli_descricao) values (204, 'Malawi');
insert into nacionalidade(nli_codigo, nli_descricao) values (267, 'Maldivas,Is');
insert into nacionalidade(nli_codigo, nli_descricao) values (206, 'Mali');
insert into nacionalidade(nli_codigo, nli_descricao) values (157, 'Mari');
insert into nacionalidade(nli_codigo, nli_descricao) values (207, 'Marrocos');
insert into nacionalidade(nli_codigo, nli_descricao) values (068, 'Martinica');
insert into nacionalidade(nli_codigo, nli_descricao) values (268, 'Mascate');
insert into nacionalidade(nli_codigo, nli_descricao) values (208, 'Maurício');
insert into nacionalidade(nli_codigo, nli_descricao) values (209, 'Mauritânia');
insert into nacionalidade(nli_codigo, nli_descricao) values (085, 'México');
insert into nacionalidade(nli_codigo, nli_descricao) values (284, 'Mianma');
insert into nacionalidade(nli_codigo, nli_descricao) values (210, 'Moçambique');
insert into nacionalidade(nli_codigo, nli_descricao) values (158, 'Moldávia');
insert into nacionalidade(nli_codigo, nli_descricao) values (118, 'Mônaco');
insert into nacionalidade(nli_codigo, nli_descricao) values (269, 'Mongólia');
insert into nacionalidade(nli_codigo, nli_descricao) values (070, 'Monte Serrat');
insert into nacionalidade(nli_codigo, nli_descricao) values (137, 'Montenegro');
insert into nacionalidade(nli_codigo, nli_descricao) values (240, 'Namíbia');
insert into nacionalidade(nli_codigo, nli_descricao) values (314, 'Nauru');
insert into nacionalidade(nli_codigo, nli_descricao) values (270, 'Nepal');
insert into nacionalidade(nli_codigo, nli_descricao) values (211, 'Nguane');
insert into nacionalidade(nli_codigo, nli_descricao) values (071, 'Nicarágua');
insert into nacionalidade(nli_codigo, nli_descricao) values (213, 'Nigéria');
insert into nacionalidade(nli_codigo, nli_descricao) values (119, 'Noruega');
insert into nacionalidade(nli_codigo, nli_descricao) values (316, 'Nova Guiné');
insert into nacionalidade(nli_codigo, nli_descricao) values (317, 'Nova Zelândia');
insert into nacionalidade(nli_codigo, nli_descricao) values (271, 'Oman');
insert into nacionalidade(nli_codigo, nli_descricao) values (159, 'Ossetia Setentrional');
insert into nacionalidade(nli_codigo, nli_descricao) values (121, 'País de Gales');
insert into nacionalidade(nli_codigo, nli_descricao) values (122, 'Países Baixos');
insert into nacionalidade(nli_codigo, nli_descricao) values (272, 'Palestina');
insert into nacionalidade(nli_codigo, nli_descricao) values (072, 'Panamá');
insert into nacionalidade(nli_codigo, nli_descricao) values (073, 'Panamá - Zona do Canal');
insert into nacionalidade(nli_codigo, nli_descricao) values (214, 'Papua Nova Guiné');
insert into nacionalidade(nli_codigo, nli_descricao) values (273, 'Paquistão');
insert into nacionalidade(nli_codigo, nli_descricao) values (024, 'Paraguai');
insert into nacionalidade(nli_codigo, nli_descricao) values (089, 'Peru');
insert into nacionalidade(nli_codigo, nli_descricao) values (322, 'Polinésia Francesa');
insert into nacionalidade(nli_codigo, nli_descricao) values (123, 'Polônia');
insert into nacionalidade(nli_codigo, nli_descricao) values (074, 'Porto Rico');
insert into nacionalidade(nli_codigo, nli_descricao) values (045, 'Portugal');
insert into nacionalidade(nli_codigo, nli_descricao) values (215, 'Praças Norte Africanas');
insert into nacionalidade(nli_codigo, nli_descricao) values (216, 'Protetor do Sudoeste Africano');
insert into nacionalidade(nli_codigo, nli_descricao) values (217, 'Quênia');
insert into nacionalidade(nli_codigo, nli_descricao) values (160, 'Quirguistão');
insert into nacionalidade(nli_codigo, nli_descricao) values (075, 'Quitasueno');
insert into nacionalidade(nli_codigo, nli_descricao) values (189, 'República Árabe do Egito');
insert into nacionalidade(nli_codigo, nli_descricao) values (218, 'República Centro Africana');
insert into nacionalidade(nli_codigo, nli_descricao) values (173, 'República da África Do Sul');
insert into nacionalidade(nli_codigo, nli_descricao) values (140, 'República da Bielorrússia');
insert into nacionalidade(nli_codigo, nli_descricao) values (133, 'República da Macedônia');
insert into nacionalidade(nli_codigo, nli_descricao) values (056, 'República de El Salvador');
insert into nacionalidade(nli_codigo, nli_descricao) values (291, 'República de Fiji');
insert into nacionalidade(nli_codigo, nli_descricao) values (120, 'República de Malta');
insert into nacionalidade(nli_codigo, nli_descricao) values (191, 'República do Gabão');
insert into nacionalidade(nli_codigo, nli_descricao) values (062, 'República do Haiti');
insert into nacionalidade(nli_codigo, nli_descricao) values (212, 'República do Níger');
insert into nacionalidade(nli_codigo, nli_descricao) values (055, 'República Dominicana');
insert into nacionalidade(nli_codigo, nli_descricao) values (088, 'República Guiana');
insert into nacionalidade(nli_codigo, nli_descricao) values (135, 'República Tcheca');
insert into nacionalidade(nli_codigo, nli_descricao) values (020, 'Reservado');
insert into nacionalidade(nli_codigo, nli_descricao) values (048, 'Reservado');
insert into nacionalidade(nli_codigo, nli_descricao) values (049, 'Reservado');
insert into nacionalidade(nli_codigo, nli_descricao) values (050, 'Reservado');
insert into nacionalidade(nli_codigo, nli_descricao) values (219, 'Reunião');
insert into nacionalidade(nli_codigo, nli_descricao) values (220, 'Rodésia (Zimbábwe)');
insert into nacionalidade(nli_codigo, nli_descricao) values (124, 'Romênia');
insert into nacionalidade(nli_codigo, nli_descricao) values (076, 'Roncador');
insert into nacionalidade(nli_codigo, nli_descricao) values (221, 'Ruanda');
insert into nacionalidade(nli_codigo, nli_descricao) values (274, 'Ruiquiu,Is');
insert into nacionalidade(nli_codigo, nli_descricao) values (348, 'Rússia');
insert into nacionalidade(nli_codigo, nli_descricao) values (222, 'Saara Espanhol');
insert into nacionalidade(nli_codigo, nli_descricao) values (323, 'Sabah');
insert into nacionalidade(nli_codigo, nli_descricao) values (324, 'Samoa Americana');
insert into nacionalidade(nli_codigo, nli_descricao) values (325, 'Samoa Ocidental');
insert into nacionalidade(nli_codigo, nli_descricao) values (125, 'San Marino');
insert into nacionalidade(nli_codigo, nli_descricao) values (223, 'Santa Helena');
insert into nacionalidade(nli_codigo, nli_descricao) values (077, 'Santa Lúcia');
insert into nacionalidade(nli_codigo, nli_descricao) values (078, 'São Cristóvão');
insert into nacionalidade(nli_codigo, nli_descricao) values (224, 'São Tomé e Príncipe');
insert into nacionalidade(nli_codigo, nli_descricao) values (079, 'São Vicente');
insert into nacionalidade(nli_codigo, nli_descricao) values (327, 'Sarawak');
insert into nacionalidade(nli_codigo, nli_descricao) values (349, 'Senegal');
insert into nacionalidade(nli_codigo, nli_descricao) values (276, 'Sequin');
insert into nacionalidade(nli_codigo, nli_descricao) values (226, 'Serra Leoa');
insert into nacionalidade(nli_codigo, nli_descricao) values (131, 'Sérvia');
insert into nacionalidade(nli_codigo, nli_descricao) values (225, 'Seychelles');
insert into nacionalidade(nli_codigo, nli_descricao) values (277, 'Síria');
insert into nacionalidade(nli_codigo, nli_descricao) values (227, 'Somália, República');
insert into nacionalidade(nli_codigo, nli_descricao) values (278, 'Sri-Lanka');
insert into nacionalidade(nli_codigo, nli_descricao) values (086, 'St. Pierre Et Miquelon');
insert into nacionalidade(nli_codigo, nli_descricao) values (228, 'Suazilândia');
insert into nacionalidade(nli_codigo, nli_descricao) values (229, 'Sudão');
insert into nacionalidade(nli_codigo, nli_descricao) values (126, 'Suécia');
insert into nacionalidade(nli_codigo, nli_descricao) values (038, 'Suíça');
insert into nacionalidade(nli_codigo, nli_descricao) values (090, 'Suriname');
insert into nacionalidade(nli_codigo, nli_descricao) values (127, 'Svalbard e Jan Mayer,Is');
insert into nacionalidade(nli_codigo, nli_descricao) values (161, 'Tadjiquistão');
insert into nacionalidade(nli_codigo, nli_descricao) values (279, 'Tailândia');
insert into nacionalidade(nli_codigo, nli_descricao) values (230, 'Tanganica');
insert into nacionalidade(nli_codigo, nli_descricao) values (350, 'Tanzânia');
insert into nacionalidade(nli_codigo, nli_descricao) values (162, 'Tartaria');
insert into nacionalidade(nli_codigo, nli_descricao) values (128, 'Tchecoslováquia');
insert into nacionalidade(nli_codigo, nli_descricao) values (335, 'Terr. Antártico da Austrália');
insert into nacionalidade(nli_codigo, nli_descricao) values (341, 'Terras Austrais');
insert into nacionalidade(nli_codigo, nli_descricao) values (231, 'Territ. Britânico do Oceano Índico');
insert into nacionalidade(nli_codigo, nli_descricao) values (328, 'Território de Cocos');
insert into nacionalidade(nli_codigo, nli_descricao) values (319, 'Território de Papua');
insert into nacionalidade(nli_codigo, nli_descricao) values (329, 'Timor');
insert into nacionalidade(nli_codigo, nli_descricao) values (233, 'Togo');
insert into nacionalidade(nli_codigo, nli_descricao) values (330, 'Tonga');
insert into nacionalidade(nli_codigo, nli_descricao) values (232, 'Transkei');
insert into nacionalidade(nli_codigo, nli_descricao) values (280, 'Trégua, Estado');
insert into nacionalidade(nli_codigo, nli_descricao) values (091, 'Trinidad e Tobago');
insert into nacionalidade(nli_codigo, nli_descricao) values (234, 'Tunísia');
insert into nacionalidade(nli_codigo, nli_descricao) values (163, 'Turcomenistão');
insert into nacionalidade(nli_codigo, nli_descricao) values (281, 'Turquia');
insert into nacionalidade(nli_codigo, nli_descricao) values (331, 'Tuvalu');
insert into nacionalidade(nli_codigo, nli_descricao) values (164, 'Tuvin');
insert into nacionalidade(nli_codigo, nli_descricao) values (165, 'Ucrânia');
insert into nacionalidade(nli_codigo, nli_descricao) values (166, 'Udmurt');
insert into nacionalidade(nli_codigo, nli_descricao) values (235, 'Uganda');
insert into nacionalidade(nli_codigo, nli_descricao) values (167, 'União Soviética');
insert into nacionalidade(nli_codigo, nli_descricao) values (025, 'Uruguai');
insert into nacionalidade(nli_codigo, nli_descricao) values (168, 'Uzbequistão');
insert into nacionalidade(nli_codigo, nli_descricao) values (092, 'Venezuela');
insert into nacionalidade(nli_codigo, nli_descricao) values (282, 'Vietnã do Norte');
insert into nacionalidade(nli_codigo, nli_descricao) values (283, 'Vietnã do Sul');
insert into nacionalidade(nli_codigo, nli_descricao) values (169, 'Yakut');
insert into nacionalidade(nli_codigo, nli_descricao) values (236, 'Zaire');
insert into nacionalidade(nli_codigo, nli_descricao) values (237, 'Zâmbia');
insert into nacionalidade(nli_codigo, nli_descricao) values (239, 'Zimbábwe'); --[lode]


insert into atualizacoes(atu_nome) values ('v22070006_120922sql');  --[lode]


insert into etniaindigena(ein_codigo, ein_descricao) values (1,'ACONA (WAKONAS, NACONAS, JAKONA, ACORANES)');
insert into etniaindigena(ein_codigo, ein_descricao) values (2,'AIKANA (AIKANA, MASSAKA,TUBARAO)');
insert into etniaindigena(ein_codigo, ein_descricao) values (3,'AJURU');
insert into etniaindigena(ein_codigo, ein_descricao) values (4,'AKUNSU (AKUNT''SU)');
insert into etniaindigena(ein_codigo, ein_descricao) values (5,'AMANAYE');
insert into etniaindigena(ein_codigo, ein_descricao) values (6,'AMONDAWA');
insert into etniaindigena(ein_codigo, ein_descricao) values (7,'ANAMBE');
insert into etniaindigena(ein_codigo, ein_descricao) values (8,'APARAI (APALAI)');
insert into etniaindigena(ein_codigo, ein_descricao) values (9,'APIAKA (APIACA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (10,'APINAYE (APINAJE/APINAIE/APINAGE)');
insert into etniaindigena(ein_codigo, ein_descricao) values (11,'APURINA (APORINA, IPURINA, IPURINA, IPURINAN)');
insert into etniaindigena(ein_codigo, ein_descricao) values (12,'ARANA (ARACUAI DO VALE DO JEQUITINHONHA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (13,'ARAPASO (ARAPACO)');
insert into etniaindigena(ein_codigo, ein_descricao) values (14,'ARARA DE RONDONIA (KARO, URUCU, URUKU)');
insert into etniaindigena(ein_codigo, ein_descricao) values (15,'ARARA DO ACRE (SHAWANAUA, AMAWAKA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (16,'ARARA DO ARIPUANA (ARARA DO BEIRADAO/ARIPUANA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (17,'ARARA DO PARA (UKARAGMA, UKARAMMA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (18,'ARAWETE (ARAUETE)');
insert into etniaindigena(ein_codigo, ein_descricao) values (19,'ARIKAPU (ARICAPU, ARIKAPO, MASUBI, MAXUBI)');
insert into etniaindigena(ein_codigo, ein_descricao) values (20,'ARIKEM (ARIQUEN, ARIQUEME, ARIKEME)');
insert into etniaindigena(ein_codigo, ein_descricao) values (21,'ARIKOSE (ARICOBE)');
insert into etniaindigena(ein_codigo, ein_descricao) values (22,'ARUA');
insert into etniaindigena(ein_codigo, ein_descricao) values (23,'ARUAK (ARAWAK)');
insert into etniaindigena(ein_codigo, ein_descricao) values (24,'ASHANINKA (KAMPA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (25,'ASURINI DO TOCANTINS (AKUAWA/AKWAWA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (26,'ASURINI DO XINGU (AWAETE)');
insert into etniaindigena(ein_codigo, ein_descricao) values (27,'ATIKUM (ATICUM)');
insert into etniaindigena(ein_codigo, ein_descricao) values (28,'AVA - CANOEIRO');
insert into etniaindigena(ein_codigo, ein_descricao) values (29,'AWETI (AUETI/AUETO)');
insert into etniaindigena(ein_codigo, ein_descricao) values (30,'BAKAIRI (KURA, BACAIRI)');
insert into etniaindigena(ein_codigo, ein_descricao) values (31,'BANAWA YAFI (BANAWA, BANAWA-JAFI)');
insert into etniaindigena(ein_codigo, ein_descricao) values (32,'BANIWA (BANIUA, BANIVA, WALIMANAI, WAKUENAI)');
insert into etniaindigena(ein_codigo, ein_descricao) values (33,'BARA (WAIPINOMAKA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (34,'BARASANA (HANERA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (35,'BARE');
insert into etniaindigena(ein_codigo, ein_descricao) values (36,'BORORO (BOE)');
insert into etniaindigena(ein_codigo, ein_descricao) values (37,'BOTOCUDO (GEREN)');
insert into etniaindigena(ein_codigo, ein_descricao) values (38,'CANOE');
insert into etniaindigena(ein_codigo, ein_descricao) values (39,'CASSUPA');
insert into etniaindigena(ein_codigo, ein_descricao) values (40,'CHAMACOCO');
insert into etniaindigena(ein_codigo, ein_descricao) values (41,'CHIQUITANO (XIQUITANO)');
insert into etniaindigena(ein_codigo, ein_descricao) values (42,'CIKIYANA (SIKIANA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (43,'CINTA LARGA (MATETAMAE)');
insert into etniaindigena(ein_codigo, ein_descricao) values (44,'COLUMBIARA (CORUMBIARA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (45,'DENI');
insert into etniaindigena(ein_codigo, ein_descricao) values (46,'DESANA (DESANA, DESANO, DESSANO, WIRA,UMUKOMASA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (47,'DIAHUI (JAHOI, JAHUI, DIARROI)');
insert into etniaindigena(ein_codigo, ein_descricao) values (48,'ENAWENE-NAWE (SALUMA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (49,'FULNI-O');
insert into etniaindigena(ein_codigo, ein_descricao) values (50,'GALIBI (GALIBI DO OIAPOQUE, KARINHA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (51,'GALIBI MARWORNO (GALIBI DO UACA, ARUA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (52,'GAVIAO DE RONDONIA (DIGUT)');
insert into etniaindigena(ein_codigo, ein_descricao) values (53,'GAVIAO KRIKATEJE');
insert into etniaindigena(ein_codigo, ein_descricao) values (54,'GAVIAO PARKATEJE (PARKATEJE)');
insert into etniaindigena(ein_codigo, ein_descricao) values (55,'GAVIAO PUKOBIE (PUKOBIE, PYKOPJE, GAVIAO DOMARANHAO)');
insert into etniaindigena(ein_codigo, ein_descricao) values (56,'GUAJA (AWA, AVA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (57,'GUAJAJARA (TENETEHARA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (58,'GUARANI KAIOWA (PAI TAVYTERA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (59,'GUARANI M''BYA');
insert into etniaindigena(ein_codigo, ein_descricao) values (60,'GUARANI NANDEVA (AVAKATUETE, CHIRIPA, NHANDEWA, AVA GUARANI)');
insert into etniaindigena(ein_codigo, ein_descricao) values (61,'GUATO');
insert into etniaindigena(ein_codigo, ein_descricao) values (62,'HIMARIMA (HIMERIMA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (63,'INGARIKO (INGARICO, AKAWAIO, KAPON)');
insert into etniaindigena(ein_codigo, ein_descricao) values (64,'IRANXE (IRANTXE)');
insert into etniaindigena(ein_codigo, ein_descricao) values (65,'ISSE');
insert into etniaindigena(ein_codigo, ein_descricao) values (66,'JABOTI (JABUTI, KIPIU, YABYTI)');
insert into etniaindigena(ein_codigo, ein_descricao) values (67,'JAMAMADI (YAMAMADI, DJEOROMITXI)');
insert into etniaindigena(ein_codigo, ein_descricao) values (68,'JARAWARA');
insert into etniaindigena(ein_codigo, ein_descricao) values (69,'JIRIPANCO (JERIPANCO, GERIPANCO)');
insert into etniaindigena(ein_codigo, ein_descricao) values (70,'JUMA (YUMA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (71,'JURUNA');
insert into etniaindigena(ein_codigo, ein_descricao) values (72,'JURUTI (YURITI)');
insert into etniaindigena(ein_codigo, ein_descricao) values (73,'KAAPOR (URUBU-KAAPOR, KA''APOR, KAAPORTE)');
insert into etniaindigena(ein_codigo, ein_descricao) values (74,'KADIWEU (CADUVEO, CADIUEU)');
insert into etniaindigena(ein_codigo, ein_descricao) values (75,'KAIABI (CAIABI, KAYABI)');
insert into etniaindigena(ein_codigo, ein_descricao) values (76,'KAIMBE (CAIMBE)');
insert into etniaindigena(ein_codigo, ein_descricao) values (77,'KAINGANG (CAINGANGUE)');
insert into etniaindigena(ein_codigo, ein_descricao) values (78,'KAIXANA (CAIXANA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (79,'KALABASSA (CALABASSA, CALABACAS)');
insert into etniaindigena(ein_codigo, ein_descricao) values (80,'KALANCO');
insert into etniaindigena(ein_codigo, ein_descricao) values (81,'KALAPALO (CALAPALO)');
insert into etniaindigena(ein_codigo, ein_descricao) values (82,'KAMAYURA (CAMAIURA, KAMAIURA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (83,'KAMBA (CAMBA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (84,'KAMBEBA (CAMBEBA, OMAGUA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (85,'KAMBIWA (CAMBIUA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (86,'KAMBIWA PIPIPA (PIPIPA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (87,'KAMPE');
insert into etniaindigena(ein_codigo, ein_descricao) values (88,'KANAMANTI (KANAMATI, CANAMANTI)');
insert into etniaindigena(ein_codigo, ein_descricao) values (89,'KANAMARI (CANAMARI, KANAMARY, TUKUNA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (90,'KANELA APANIEKRA (CANELA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (91,'KANELA RANKOKAMEKRA (CANELA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (92,'KANINDE');
insert into etniaindigena(ein_codigo, ein_descricao) values (93,'KANOE (CANOE)');
insert into etniaindigena(ein_codigo, ein_descricao) values (94,'KANTARURE (CANTARURE)');
insert into etniaindigena(ein_codigo, ein_descricao) values (95,'KAPINAWA (CAPINAUA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (96,'KARAJA (CARAJA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (97,'KARAJA/JAVAE (JAVAE)');
insert into etniaindigena(ein_codigo, ein_descricao) values (98,'KARAJA/XAMBIOA (KARAJA DO NORTE)');
insert into etniaindigena(ein_codigo, ein_descricao) values (99,'KARAPANA (CARAPANA, MUTEAMASA, UKOPINOPONA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (100,'KARAPOTO (CARAPOTO)');
insert into etniaindigena(ein_codigo, ein_descricao) values (101,'KARIPUNA (CARIPUNA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (102,'KARIPUNA DO AMAPA (CARIPUNA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (103,'KARIRI (CARIRI)');
insert into etniaindigena(ein_codigo, ein_descricao) values (104,'KARIRI-XOCO (CARIRI-CHOCO)');
insert into etniaindigena(ein_codigo, ein_descricao) values (105,'KARITIANA (CARITIANA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (106,'KATAWIXI (KATAUIXI,KATAWIN, KATAWISI, CATAUICHI)');
insert into etniaindigena(ein_codigo, ein_descricao) values (107,'KATUENA (CATUENA, KATWENA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (108,'KATUKINA (PEDA DJAPA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (109,'KATUKINA DO ACRE');
insert into etniaindigena(ein_codigo, ein_descricao) values (110 ,'KAXARARI (CAXARARI)');
insert into etniaindigena(ein_codigo, ein_descricao) values (111,'KAXINAWA (HUNI-KUIN, CASHINAUA, CAXINAUA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (112 ,'KAXIXO');
insert into etniaindigena(ein_codigo, ein_descricao) values (113 ,'KAXUYANA (CAXUIANA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (114 ,'KAYAPO (CAIAPO)');
insert into etniaindigena(ein_codigo, ein_descricao) values (115 ,'KAYAPO KARARAO (KARARAO)');
insert into etniaindigena(ein_codigo, ein_descricao) values (116 ,'KAYAPO TXUKAHAMAE (TXUKAHAMAE)');
insert into etniaindigena(ein_codigo, ein_descricao) values (117 ,'KAYAPO XICRIM (XIKRIN)');
insert into etniaindigena(ein_codigo, ein_descricao) values (118,'KAYUISANA (CAIXANA, CAUIXANA, KAIXANA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (119,'KINIKINAWA (GUAN, KOINUKOEN, KINIKINAO)');
insert into etniaindigena(ein_codigo, ein_descricao) values (120,'KIRIRI');
insert into etniaindigena(ein_codigo, ein_descricao) values (121,'KOCAMA (COCAMA, KOKAMA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (122,'KOKUIREGATEJE');
insert into etniaindigena(ein_codigo, ein_descricao) values (123,'KORUBO');
insert into etniaindigena(ein_codigo, ein_descricao) values (124,'KRAHO (CRAO, KRAO)');
insert into etniaindigena(ein_codigo, ein_descricao) values (125,'KREJE (KRENYE)');
insert into etniaindigena(ein_codigo, ein_descricao) values (126,'KRENAK (BORUN, CRENAQUE)');
insert into etniaindigena(ein_codigo, ein_descricao) values (127,'KRIKATI (KRINKATI)');
insert into etniaindigena(ein_codigo, ein_descricao) values (128,'KUBEO (CUBEO, COBEWA, KUBEWA, PAMIWA, CUBEU)');
insert into etniaindigena(ein_codigo, ein_descricao) values (129,'KUIKURO (KUIKURU, CUICURO)');
insert into etniaindigena(ein_codigo, ein_descricao) values (130,'KUJUBIM (KUYUBI, CUJUBIM)');
insert into etniaindigena(ein_codigo, ein_descricao) values (131,'KULINA PANO (CULINA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (132,'KULINA/MADIHA (CULINA, MADIJA, MADIHA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (133,'KURIPAKO (CURIPACO, CURRIPACO, CORIPACO, WAKUENAI)');
insert into etniaindigena(ein_codigo, ein_descricao) values (134,'KURUAIA (CURUAIA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (135,'KWAZA (COAIA, KOAIA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (136,'MACHINERI (MANCHINERI, MANXINERI)');
insert into etniaindigena(ein_codigo, ein_descricao) values (137,'MACURAP (MAKURAP)');
insert into etniaindigena(ein_codigo, ein_descricao) values (138,'MAKU DOW (DOW)');
insert into etniaindigena(ein_codigo, ein_descricao) values (139,'MAKU HUPDA (HUPDA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (140,'MAKU NADEB (NADEB)');
insert into etniaindigena(ein_codigo, ein_descricao) values (141,'MAKU YUHUPDE (YUHUPDE)');
insert into etniaindigena(ein_codigo, ein_descricao) values (142,'MAKUNA (MACUNA, YEBA-MASA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (143,'MAKUXI (MACUXI, MACHUSI, PEMON)');
insert into etniaindigena(ein_codigo, ein_descricao) values (144,'MARIMAM (MARIMA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (145,'MARUBO');
insert into etniaindigena(ein_codigo, ein_descricao) values (146,'MATIPU');
insert into etniaindigena(ein_codigo, ein_descricao) values (147,'MATIS');
insert into etniaindigena(ein_codigo, ein_descricao) values (148,'MATSE (MAYORUNA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (149,'MAXAKALI (MAXACALI)');
insert into etniaindigena(ein_codigo, ein_descricao) values (150,'MAYA (MAYA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (151,'MAYTAPU');
insert into etniaindigena(ein_codigo, ein_descricao) values (152,'MEHINAKO (MEINAKU, MEINACU)');
insert into etniaindigena(ein_codigo, ein_descricao) values (153,'MEKEN (MEQUEM, MEKHEM, MICHENS)');
insert into etniaindigena(ein_codigo, ein_descricao) values (154,'MENKY (MYKY, MUNKU, MENKI, MYNKY)');
insert into etniaindigena(ein_codigo, ein_descricao) values (155,'MIRANHA (MIRANHA, MIRANA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (156,'MIRITI TAPUIA (MIRITI-TAPUYA, BUIA-TAPUYA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (157,'MUNDURUKU (MUNDURUCU)');
insert into etniaindigena(ein_codigo, ein_descricao) values (158,'MURA');
insert into etniaindigena(ein_codigo, ein_descricao) values (159,'NAHUKWA (NAFUQUA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (160,'NAMBIKWARA DO CAMPO (HALOTESU, KITHAULU,WAKALITESU, SAWENTES, MANDUKA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (161,'NAMBIKWARA DO NORTE (NEGAROTE, MAMAINDE, LATUNDE, SABANE E MANDUKA, TAWANDE)');
insert into etniaindigena(ein_codigo, ein_descricao) values (162,'NAMBIKWARA DO SUL (WASUSU,HAHAINTESU,ALANTESU,WAIKISU,ALAKETESU,WASUSU,SARARE)');
insert into etniaindigena(ein_codigo, ein_descricao) values (163,'NARAVUTE (NARUVOTO)');
insert into etniaindigena(ein_codigo, ein_descricao) values (164,'NAWA (NAUA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (165,'NUKINI (NUQUINI, NUKUINI)');
insert into etniaindigena(ein_codigo, ein_descricao) values (166,'OFAIE (OFAYE-XAVANTE)');
insert into etniaindigena(ein_codigo, ein_descricao) values (167,'ORO WIN');
insert into etniaindigena(ein_codigo, ein_descricao) values (168,'PAIAKU (JENIPAPO-KANINDE)');
insert into etniaindigena(ein_codigo, ein_descricao) values (169,'PAKAA NOVA (WARI, PACAAS NOVOS)');
insert into etniaindigena(ein_codigo, ein_descricao) values (170,'PALIKUR (AUKWAYENE, AUKUYENE, PALIKU''ENE)');
insert into etniaindigena(ein_codigo, ein_descricao) values (171,'PANARA (KRENHAKARORE, KRENAKORE, KRENAKARORE)');
insert into etniaindigena(ein_codigo, ein_descricao) values (172,'PANKARARE (PANCARARE)');
insert into etniaindigena(ein_codigo, ein_descricao) values (173,'PANKARARU (PANCARARU)');
insert into etniaindigena(ein_codigo, ein_descricao) values (174,'PANKARARU KALANKO (KALANKO)');
insert into etniaindigena(ein_codigo, ein_descricao) values (175,'PANKARARU KARUAZU (KARUAZU)');
insert into etniaindigena(ein_codigo, ein_descricao) values (176,'PANKARU (PANCARU)');
insert into etniaindigena(ein_codigo, ein_descricao) values (177,'PARAKANA (PARACANA, APITEREWA, AWAETE)');
insert into etniaindigena(ein_codigo, ein_descricao) values (178,'PARECI (PARESI, HALITI)');
insert into etniaindigena(ein_codigo, ein_descricao) values (179,'PARINTINTIN');
insert into etniaindigena(ein_codigo, ein_descricao) values (180,'PATAMONA (KAPON)');
insert into etniaindigena(ein_codigo, ein_descricao) values (181,'PATAXO');
insert into etniaindigena(ein_codigo, ein_descricao) values (182,'PATAXO HA-HA-HAE');
insert into etniaindigena(ein_codigo, ein_descricao) values (183,'PAUMARI (PALMARI)');
insert into etniaindigena(ein_codigo, ein_descricao) values (184,'PAUMELENHO');
insert into etniaindigena(ein_codigo, ein_descricao) values (185,'PIRAHA (MURA PIRAHA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (186,'PIRATUAPUIA (PIRATAPUYA, PIRATAPUYO, PIRATAPUYA, WAIKANA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (187,'PITAGUARI');
insert into etniaindigena(ein_codigo, ein_descricao) values (188,'POTIGUARA');
insert into etniaindigena(ein_codigo, ein_descricao) values (189,'POYANAWA (POIANAUA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (190,'RIKBAKTSA (CANOEIROS, ERIGPAKTSA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (191,'SAKURABIAT (MEKENS, SAKIRABIAP, SAKIRABIAR)');
insert into etniaindigena(ein_codigo, ein_descricao) values (192,'SATERE-MAWE (SATERE-MAUE)');
insert into etniaindigena(ein_codigo, ein_descricao) values (193,'SHANENAWA (KATUKINA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (194,'SIRIANO (SIRIA-MASA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (195,'SURIANA');
insert into etniaindigena(ein_codigo, ein_descricao) values (196,'SURUI DE RONDONIA (PAITER)');
insert into etniaindigena(ein_codigo, ein_descricao) values (197,'SURUI DO PARA (AIKEWARA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (198,'SUYA (SUIA/KISEDJE)');
insert into etniaindigena(ein_codigo, ein_descricao) values (199,'TAPAYUNA (BEICO-DE-PAU)');
insert into etniaindigena(ein_codigo, ein_descricao) values (200,'TA P E B A');
insert into etniaindigena(ein_codigo, ein_descricao) values (201,'TAPIRAPE (TAPI''IRAPE)');
insert into etniaindigena(ein_codigo, ein_descricao) values (202,'TAPUIA (TAPUIA-XAVANTE, TAPUIO)');
insert into etniaindigena(ein_codigo, ein_descricao) values (203,'TARIANO (TARIANA, TALIASERI)');
insert into etniaindigena(ein_codigo, ein_descricao) values (204,'TAUREPANG (TAULIPANG, PEMON, AREKUNA, PAGEYN)');
insert into etniaindigena(ein_codigo, ein_descricao) values (205,'TEMBE');
insert into etniaindigena(ein_codigo, ein_descricao) values (206,'TENHARIM');
insert into etniaindigena(ein_codigo, ein_descricao) values (207,'TERENA');
insert into etniaindigena(ein_codigo, ein_descricao) values (208,'TICUNA (TIKUNA, TUKUNA, MAGUTA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (209,'TINGUI BOTO');
insert into etniaindigena(ein_codigo, ein_descricao) values (210,'TIRIYO EWARHUYANA (TIRIYO, TRIO, TARONA, YAWI, PIANOKOTO)');
insert into etniaindigena(ein_codigo, ein_descricao) values (211,'TIRIYO KAH''YANA (TIRIYO, TRIO, TARONA, YAWI, PIANOKOTO)');
insert into etniaindigena(ein_codigo, ein_descricao) values (212,'TIRIYO TSIKUYANA (TIRIYO, TRIO, TARONA, YAWI, PIANOKOTO)');
insert into etniaindigena(ein_codigo, ein_descricao) values (213,'TORA');
insert into etniaindigena(ein_codigo, ein_descricao) values (214,'TREMEMBE');
insert into etniaindigena(ein_codigo, ein_descricao) values (215,'TRUKA');
insert into etniaindigena(ein_codigo, ein_descricao) values (216,'TRUMAI');
insert into etniaindigena(ein_codigo, ein_descricao) values (217,'TSOHOM DJAPA (TSUNHUM-DJAPA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (218,'TUKANO (TUCANO, YE''PA-MASA, DASEA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (219,'TUMBALALA');
insert into etniaindigena(ein_codigo, ein_descricao) values (220,'TUNAYANA');
insert into etniaindigena(ein_codigo, ein_descricao) values (221,'TUPARI');
insert into etniaindigena(ein_codigo, ein_descricao) values (222,'TUPINAMBA');
insert into etniaindigena(ein_codigo, ein_descricao) values (223,'TUPINIQUIM');
insert into etniaindigena(ein_codigo, ein_descricao) values (224,'TURIWARA');
insert into etniaindigena(ein_codigo, ein_descricao) values (225,'TUXA');
insert into etniaindigena(ein_codigo, ein_descricao) values (226,'TUYUKA (TUIUCA, DOKAPUARA, UTAPINOMAKAPHONA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (227,'TXIKAO (TXICAO, IKPENG)');
insert into etniaindigena(ein_codigo, ein_descricao) values (228,'UMUTINA (OMOTINA, BARBADOS)');
insert into etniaindigena(ein_codigo, ein_descricao) values (229,'URU-EU-WAU-WAU (URUEU-UAU-UAU, URUPAIN, URUPA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (230,'WAI WAI HIXKARYANA (HIXKARYANA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (231,'WAI WAI KARAFAWYANA (KARAFAWYANA, KARAPAWYANA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (232,'WAI WAI XEREU (XEREU)');
insert into etniaindigena(ein_codigo, ein_descricao) values (233,'WAI WAI KATUENA (KATUENA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (234,'WAI WAI MAWAYANA (MAWAYANA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (235,'WAIAPI (WAYAMPI, OYAMPI, WAYAPY, )');
insert into etniaindigena(ein_codigo, ein_descricao) values (236,'WAIMIRI ATROARI (KINA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (237,'WANANO (UANANO, WANANA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (238,'WAPIXANA (UAPIXANA, VAPIDIANA, WAPISIANA, WAPISHANA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (239,'WAREKENA (UAREQUENA, WEREKENA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (240,'WASSU');
insert into etniaindigena(ein_codigo, ein_descricao) values (241,'WAURA (UAURA, WAUJA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (242,'WAYANA (WAIANA, UAIANA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (243,'WITOTO (UITOTO, HUITOTO)');
insert into etniaindigena(ein_codigo, ein_descricao) values (244,'XAKRIABA (XACRIABA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (245,'XAVANTE (A''UWE, AKWE, AWEN, AKWEN)');
insert into etniaindigena(ein_codigo, ein_descricao) values (246,'XERENTE (AKWE, AWEN, AKWEN)');
insert into etniaindigena(ein_codigo, ein_descricao) values (247,'XETA');
insert into etniaindigena(ein_codigo, ein_descricao) values (248,'XIPAIA (SHIPAYA, XIPAYA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (249,'XOKLENG (SHOKLENG, XOCLENG)');
insert into etniaindigena(ein_codigo, ein_descricao) values (250,'XOKO (XOCO, CHOCO)');
insert into etniaindigena(ein_codigo, ein_descricao) values (251,'XUKURU (XUCURU)');
insert into etniaindigena(ein_codigo, ein_descricao) values (252,'XUKURU KARIRI (XUCURU-KARIRI)');
insert into etniaindigena(ein_codigo, ein_descricao) values (253,'YAIPIYANA');
insert into etniaindigena(ein_codigo, ein_descricao) values (254,'YAMINAWA (JAMINAWA, IAMINAWA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (255,'YANOMAMI NINAM (IANOMAMI, IANOAMA, XIRIANA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (256,'YANOMAMI SANUMA (IANOMAMI, IANOAMA, XIRIANA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (257,'YANOMAMI YANOMAM (IANOMAMI, IANOAMA, XIRIANA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (258,'YAWALAPITI (IAUALAPITI)');
insert into etniaindigena(ein_codigo, ein_descricao) values (259,'YAWANAWA (IAUANAUA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (260,'YEKUANA (MAIONGON, YE''KUANA, YEKWANA, MAYONGONG)');
insert into etniaindigena(ein_codigo, ein_descricao) values (261,'YUDJA (JURUNA, YURUNA)');
insert into etniaindigena(ein_codigo, ein_descricao) values (262,'ZO''E (POTURU)');
insert into etniaindigena(ein_codigo, ein_descricao) values (263,'ZORO (PAGEYN)');
insert into etniaindigena(ein_codigo, ein_descricao) values (264,'ZURUAHA (SOROWAHA, SURUWAHA)'); --[lode]


insert into atualizacoes(atu_nome) values ('v22070007_130922sql');  --[lode]


