alter table examematcoleta add emc_materialcongelado boolean; alter table medico add med_norma varchar(1000); insert into atualizacoes(atu_nome) values ('v16030001_011116.sql'); create sequence categoriaprodutoalimentos_sequence; create sequence produtoalimentos_sequence; select criasequencia('categoriaprodutoalimentos'); select criasequencia('produtoalimentos'); create table categoriaprodutoalimentos ( fil_codigo integer not null, cpl_codigo integer not null, cpl_descricao varchar(120) ); create unique index xpkcategoriaprodutoalimentos on categoriaprodutoalimentos ( fil_codigo, cpl_codigo ); create index xif1categoriaprodutoalimentos on categoriaprodutoalimentos ( fil_codigo ); alter table categoriaprodutoalimentos add primary key (fil_codigo, cpl_codigo); create table produtoalimentos ( fil_codigo integer not null, cpl_codigo integer not null, pal_codigo integer not null, pal_descricao varchar(120) ); create unique index xpkprodutoalimentos on produtoalimentos ( fil_codigo, cpl_codigo, pal_codigo ); create index xif1produtoalimentos on produtoalimentos ( fil_codigo, cpl_codigo ); alter table produtoalimentos add primary key (fil_codigo, cpl_codigo, pal_codigo); --drop function fn_td_categoriaprodutoalimentos() cascade; create function fn_td_categoriaprodutoalimentos() returns opaque as ' declare numrows integer; begin delete from produtoalimentos where produtoalimentos.fil_codigo = old.fil_codigo and produtoalimentos.cpl_codigo = old.cpl_codigo; return old; end;' language 'plpgsql'; create trigger td_categoriaprodutoalimentos after delete on categoriaprodutoalimentos for each row execute procedure fn_td_categoriaprodutoalimentos(); --drop function fn_ti_categoriaprodutoalimentos() cascade; create function fn_ti_categoriaprodutoalimentos() 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_categoriaprodutoalimentos after insert on categoriaprodutoalimentos for each row execute procedure fn_ti_categoriaprodutoalimentos(); --drop function fn_tu_categoriaprodutoalimentos() cascade; create function fn_tu_categoriaprodutoalimentos() returns opaque as ' declare numrows integer; tmp varchar; begin if (old.fil_codigo <> new.fil_codigo or old.cpl_codigo <> new.cpl_codigo) then select count(*) from produtoalimentos where produtoalimentos.fil_codigo = old.fil_codigo and produtoalimentos.cpl_codigo = old.cpl_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela produtoalimentos.''; end if; 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_categoriaprodutoalimentos after update on categoriaprodutoalimentos for each row execute procedure fn_tu_categoriaprodutoalimentos(); 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 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 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_produtoalimentos() cascade; create function fn_ti_produtoalimentos() returns opaque as ' declare numrows integer; tmp varchar; begin select count(*) into numrows from categoriaprodutoalimentos where new.fil_codigo = categoriaprodutoalimentos.fil_codigo and new.cpl_codigo = categoriaprodutoalimentos.cpl_codigo; tmp:=''categoriaprodutoalimentos|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''cpl_codigo='' || new.cpl_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 categoriaprodutoalimentos. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; return new; end;' language 'plpgsql'; create trigger ti_produtoalimentos after insert on produtoalimentos for each row execute procedure fn_ti_produtoalimentos(); --drop function fn_tu_produtoalimentos() cascade; create function fn_tu_produtoalimentos() returns opaque as ' declare numrows integer; tmp varchar; begin select count(*) into numrows from categoriaprodutoalimentos where new.fil_codigo = categoriaprodutoalimentos.fil_codigo and new.cpl_codigo = categoriaprodutoalimentos.cpl_codigo; tmp:=''categoriaprodutoalimentos|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''cpl_codigo='' || new.cpl_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 categoriaprodutoalimentos. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; return old; end;' language 'plpgsql'; create trigger tu_produtoalimentos after update on produtoalimentos for each row execute procedure fn_tu_produtoalimentos(); CREATE TRIGGER requisicaotaxa_log AFTER INSERT OR UPDATE OR DELETE ON public.categoriaprodutoalimentos FOR EACH ROW EXECUTE PROCEDURE geralog(); CREATE TRIGGER requisicaotaxa_log AFTER INSERT OR UPDATE OR DELETE ON public.produtoalimentos FOR EACH ROW EXECUTE PROCEDURE geralog(); insert into atualizacoes(atu_nome) values ('v16030002_211116.sql'); alter table requisicao add cpl_codigo integer, add pal_codigo integer; create index xif295requisicao on requisicao ( fil_codigo, cpl_codigo, pal_codigo ); --drop function fn_td_produtoalimentos() cascade; create function fn_td_produtoalimentos() returns opaque as ' declare numrows integer; begin select count(*) into numrows from requisicao where requisicao.fil_codigo = old.fil_codigo and requisicao.cpl_codigo = old.cpl_codigo and requisicao.pal_codigo = old.pal_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'; create trigger td_produtoalimentos after delete on produtoalimentos for each row execute procedure fn_td_produtoalimentos(); drop function fn_ti_produtoalimentos() cascade; create function fn_ti_produtoalimentos() returns opaque as ' declare numrows integer; tmp varchar; begin select count(*) into numrows from categoriaprodutoalimentos where new.fil_codigo = categoriaprodutoalimentos.fil_codigo and new.cpl_codigo = categoriaprodutoalimentos.cpl_codigo; tmp:=''categoriaprodutoalimentos|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''cpl_codigo='' || new.cpl_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 categoriaprodutoalimentos. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; return new; end;' language 'plpgsql'; create trigger ti_produtoalimentos after insert on produtoalimentos for each row execute procedure fn_ti_produtoalimentos(); drop function fn_tu_produtoalimentos() cascade; create function fn_tu_produtoalimentos() returns opaque as ' declare numrows integer; tmp varchar; begin if (old.fil_codigo <> new.fil_codigo or old.cpl_codigo <> new.cpl_codigo or old.pal_codigo <> new.pal_codigo) then select count(*) from requisicao where requisicao.fil_codigo = old.fil_codigo and requisicao.cpl_codigo = old.cpl_codigo and requisicao.pal_codigo = old.pal_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 categoriaprodutoalimentos where new.fil_codigo = categoriaprodutoalimentos.fil_codigo and new.cpl_codigo = categoriaprodutoalimentos.cpl_codigo; tmp:=''categoriaprodutoalimentos|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''cpl_codigo='' || new.cpl_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 categoriaprodutoalimentos. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; return old; end;' language 'plpgsql'; create trigger tu_produtoalimentos after update on produtoalimentos for each row execute procedure fn_tu_produtoalimentos(); drop function fn_td_requisicao() cascade; create function fn_td_requisicao() returns opaque as ' declare numrows integer; begin delete from logsms where logsms.fil_codigo = old.fil_codigo and logsms.req_codigo = old.req_codigo; select count(*) into numrows from requisicaotaxa where requisicaotaxa.fil_codigo = old.fil_codigo and requisicaotaxa.req_codigo = old.req_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela requisicaotaxa.''; end if; select count(*) into numrows from lotefilialrequisicao where lotefilialrequisicao.fil_codigo = old.fil_codigo and lotefilialrequisicao.req_codigo = old.req_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela lotefilialrequisicao.''; end if; select count(*) into numrows from requisicaonaoconformidade where requisicaonaoconformidade.fil_codigo = old.fil_codigo and requisicaonaoconformidade.req_codigo = old.req_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela requisicaonaoconformidade.''; end if; select count(*) into numrows from requisicaolog where requisicaolog.fil_codigo = old.fil_codigo and requisicaolog.req_codigo = old.req_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 agendamento where agendamento.fil_codigo = old.fil_codigo and agendamento.req_codigo = old.req_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 and requisicaoweb.req_codigo = old.req_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 requisicaonotafiscal where requisicaonotafiscal.fil_codigo = old.fil_codigo and requisicaonotafiscal.req_codigo = old.req_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela requisicaonotafiscal.''; end if; select count(*) into numrows from requisicaolabexterno where requisicaolabexterno.fil_codigo = old.fil_codigo and requisicaolabexterno.req_codigo = old.req_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela requisicaolabexterno.''; end if; delete from requisicaocid10 where requisicaocid10.fil_codigo = old.fil_codigo and requisicaocid10.req_codigo = old.req_codigo; select count(*) into numrows from loteexternorequisicao where loteexternorequisicao.fil_kodigo = old.fil_codigo and loteexternorequisicao.req_codigo = old.req_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 loteapoiorequisicao where loteapoiorequisicao.fil_codigo = old.fil_codigo and loteapoiorequisicao.req_codigo = old.req_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela loteapoiorequisicao.''; end if; delete from requisicaousuario where requisicaousuario.fil_codigo = old.fil_codigo and requisicaousuario.req_codigo = old.req_codigo; delete from requisicaolanctocaixa where requisicaolanctocaixa.fil_codigo = old.fil_codigo and requisicaolanctocaixa.req_codigo = old.req_codigo; delete from examescontrole where examescontrole.fil_codigo = old.fil_codigo and examescontrole.req_codigo = old.req_codigo; select count(*) into numrows from requisicaorequisicao where requisicaorequisicao.fil_codigo = old.fil_codigo and requisicaorequisicao.req_codigo = old.req_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela requisicaorequisicao.''; end if; delete from requisicaomedicamento where requisicaomedicamento.fil_codigo = old.fil_codigo and requisicaomedicamento.req_codigo = old.req_codigo; select count(*) into numrows from faturarequisicao where faturarequisicao.fil_kodigo = old.fil_codigo and faturarequisicao.req_codigo = old.req_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela faturarequisicao.''; end if; delete from requisicaorequisicao where requisicaorequisicao.fil_codigo = old.fil_codigo and requisicaorequisicao.req_kodigo = old.req_codigo; delete from examerequisicao where examerequisicao.fil_codigo = old.fil_codigo and examerequisicao.req_codigo = old.req_codigo; return old; end;' language 'plpgsql'; create trigger td_requisicao after delete on requisicao for each row execute procedure fn_td_requisicao(); drop function fn_ti_requisicao() cascade; create function fn_ti_requisicao() returns opaque as ' declare numrows integer; tmp varchar; begin select count(*) into numrows from produtoalimentos where new.fil_codigo = produtoalimentos.fil_codigo and new.cpl_codigo = produtoalimentos.cpl_codigo and new.pal_codigo = produtoalimentos.pal_codigo; tmp:=''produtoalimentos|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''cpl_codigo='' || new.cpl_codigo || ''|''; tmp:=tmp || ''pal_codigo='' || new.pal_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.cpl_codigo is not null and new.pal_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela produtoalimentos. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_coddesconto = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_coddesconto || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_coddesconto 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_codelegibilidade = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codelegibilidade || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codelegibilidade 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 formapagto where new.fpg_codigo = formapagto.fpg_codigo and new.fil_codigo = formapagto.fil_codigo; tmp:=''formapagto|''; tmp:=tmp || ''fpg_codigo='' || new.fpg_codigo || ''|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fpg_codigo 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 formapagto. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from pais where new.fil_codigo = pais.fil_codigo and new.pai_codigo = pais.pai_codigo; tmp:=''pais|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''pai_codigo='' || new.pai_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.pai_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela pais. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_codguiarepasse = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codguiarepasse || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codguiarepasse 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 convenios where new.fil_codigo = convenios.fil_codigo and new.con_codrepasse = convenios.con_codigo; tmp:=''convenios|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''con_codigo='' || new.con_codrepasse || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.con_codrepasse 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 orcamento where new.fil_codigo = orcamento.fil_codigo and new.orc_codigo = orcamento.orc_codigo; tmp:=''orcamento|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''orc_codigo='' || new.orc_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.orc_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela orcamento. 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 usuario where new.usr_codexcluida = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codexcluida || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codexcluida 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 entidade where new.fil_codigo = entidade.fil_codigo and new.ent_codigo = entidade.ent_codigo; tmp:=''entidade|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''ent_codigo='' || new.ent_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.ent_codigo 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 embalagemproduto where new.fil_codigo = embalagemproduto.fil_codigo and new.emb_codigo = embalagemproduto.emb_codigo; tmp:=''embalagemproduto|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''emb_codigo='' || new.emb_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.emb_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela embalagemproduto. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from unidademedida where new.fil_codigo = unidademedida.fil_codigo and new.unm_codigo = unidademedida.unm_codigo; tmp:=''unidademedida|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''unm_codigo='' || new.unm_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.unm_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela unidademedida. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from situacao where new.fil_codigo = situacao.fil_codigo and new.sit_codigo = situacao.sit_codigo; tmp:=''situacao|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''sit_codigo='' || new.sit_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.sit_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela situacao. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from alahospital where new.fil_codigo = alahospital.fil_codigo and new.ala_codigo = alahospital.ala_codigo; tmp:=''alahospital|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''ala_codigo='' || new.ala_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.ala_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela alahospital. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from filiais_postocoleta where new.fil_codcopia = filiais_postocoleta.fil_codigo; tmp:=''filiais_postocoleta|''; tmp:=tmp || ''fil_codigo='' || new.fil_codcopia || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codcopia 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 usuario where new.usr_codabertura = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codabertura || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codabertura 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 estacoes where new.est_codigo = estacoes.est_codigo; tmp:=''estacoes|''; tmp:=tmp || ''est_codigo='' || new.est_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.est_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela estacoes. 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; select count(*) into numrows from coletas where new.fil_codigo = coletas.fil_codigo and new.col_codigo = coletas.col_codigo; tmp:=''coletas|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''col_codigo='' || new.col_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.col_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela coletas. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from destino where new.fil_codigo = destino.fil_codigo and new.des_codigo = destino.des_codigo; tmp:=''destino|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''des_codigo='' || new.des_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.des_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela destino. 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 paciente where new.fil_codigo = paciente.fil_codigo and new.pac_codigo = paciente.pac_codigo; tmp:=''paciente|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''pac_codigo='' || new.pac_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 paciente. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; return new; end;' language 'plpgsql'; create trigger ti_requisicao after insert on requisicao for each row execute procedure fn_ti_requisicao(); drop function fn_tu_requisicao() cascade; create function fn_tu_requisicao() returns opaque as ' declare numrows integer; tmp varchar; begin if (old.fil_codigo <> new.fil_codigo or old.req_codigo <> new.req_codigo) then select count(*) from logsms where logsms.fil_codigo = old.fil_codigo and logsms.req_codigo = old.req_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.req_codigo <> new.req_codigo) then select count(*) from requisicaotaxa where requisicaotaxa.fil_codigo = old.fil_codigo and requisicaotaxa.req_codigo = old.req_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela requisicaotaxa.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.req_codigo <> new.req_codigo) then select count(*) from lotefilialrequisicao where lotefilialrequisicao.fil_codigo = old.fil_codigo and lotefilialrequisicao.req_codigo = old.req_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela lotefilialrequisicao.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.req_codigo <> new.req_codigo) then select count(*) from requisicaonaoconformidade where requisicaonaoconformidade.fil_codigo = old.fil_codigo and requisicaonaoconformidade.req_codigo = old.req_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela requisicaonaoconformidade.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.req_codigo <> new.req_codigo) then select count(*) from requisicaolog where requisicaolog.fil_codigo = old.fil_codigo and requisicaolog.req_codigo = old.req_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.fil_codigo <> new.fil_codigo or old.req_codigo <> new.req_codigo) then select count(*) from agendamento where agendamento.fil_codigo = old.fil_codigo and agendamento.req_codigo = old.req_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 or old.req_codigo <> new.req_codigo) then select count(*) from requisicaoweb where requisicaoweb.fil_codigo = old.fil_codigo and requisicaoweb.req_codigo = old.req_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.req_codigo <> new.req_codigo) then select count(*) from requisicaonotafiscal where requisicaonotafiscal.fil_codigo = old.fil_codigo and requisicaonotafiscal.req_codigo = old.req_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela requisicaonotafiscal.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.req_codigo <> new.req_codigo) then select count(*) from requisicaolabexterno where requisicaolabexterno.fil_codigo = old.fil_codigo and requisicaolabexterno.req_codigo = old.req_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.req_codigo <> new.req_codigo) then select count(*) from requisicaocid10 where requisicaocid10.fil_codigo = old.fil_codigo and requisicaocid10.req_codigo = old.req_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.fil_codigo <> new.fil_codigo or old.req_codigo <> new.req_codigo) then select count(*) from loteexternorequisicao where loteexternorequisicao.fil_kodigo = old.fil_codigo and loteexternorequisicao.req_codigo = old.req_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.fil_codigo <> new.fil_codigo or old.req_codigo <> new.req_codigo) then select count(*) from loteapoiorequisicao where loteapoiorequisicao.fil_codigo = old.fil_codigo and loteapoiorequisicao.req_codigo = old.req_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela loteapoiorequisicao.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.req_codigo <> new.req_codigo) then select count(*) from requisicaousuario where requisicaousuario.fil_codigo = old.fil_codigo and requisicaousuario.req_codigo = old.req_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.fil_codigo <> new.fil_codigo or old.req_codigo <> new.req_codigo) then select count(*) from requisicaolanctocaixa where requisicaolanctocaixa.fil_codigo = old.fil_codigo and requisicaolanctocaixa.req_codigo = old.req_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela requisicaolanctocaixa.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.req_codigo <> new.req_codigo) then select count(*) from examescontrole where examescontrole.fil_codigo = old.fil_codigo and examescontrole.req_codigo = old.req_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.req_codigo <> new.req_codigo) then select count(*) from requisicaorequisicao where requisicaorequisicao.fil_codigo = old.fil_codigo and requisicaorequisicao.req_codigo = old.req_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela requisicaorequisicao.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.req_codigo <> new.req_codigo) then select count(*) from requisicaomedicamento where requisicaomedicamento.fil_codigo = old.fil_codigo and requisicaomedicamento.req_codigo = old.req_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela requisicaomedicamento.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.req_codigo <> new.req_codigo) then select count(*) from faturarequisicao where faturarequisicao.fil_kodigo = old.fil_codigo and faturarequisicao.req_codigo = old.req_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela faturarequisicao.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.req_codigo <> new.req_codigo) then select count(*) from requisicaorequisicao where requisicaorequisicao.fil_codigo = old.fil_codigo and requisicaorequisicao.req_kodigo = old.req_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela requisicaorequisicao.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.req_codigo <> new.req_codigo) then select count(*) from examerequisicao where examerequisicao.fil_codigo = old.fil_codigo and examerequisicao.req_codigo = old.req_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; select count(*) into numrows from produtoalimentos where new.fil_codigo = produtoalimentos.fil_codigo and new.cpl_codigo = produtoalimentos.cpl_codigo and new.pal_codigo = produtoalimentos.pal_codigo; tmp:=''produtoalimentos|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''cpl_codigo='' || new.cpl_codigo || ''|''; tmp:=tmp || ''pal_codigo='' || new.pal_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.cpl_codigo is not null and new.pal_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela produtoalimentos. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_coddesconto = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_coddesconto || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_coddesconto 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_codelegibilidade = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codelegibilidade || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codelegibilidade 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 formapagto where new.fpg_codigo = formapagto.fpg_codigo and new.fil_codigo = formapagto.fil_codigo; tmp:=''formapagto|''; tmp:=tmp || ''fpg_codigo='' || new.fpg_codigo || ''|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fpg_codigo 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 formapagto. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from pais where new.fil_codigo = pais.fil_codigo and new.pai_codigo = pais.pai_codigo; tmp:=''pais|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''pai_codigo='' || new.pai_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.pai_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela pais. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_codguiarepasse = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codguiarepasse || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codguiarepasse 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 convenios where new.fil_codigo = convenios.fil_codigo and new.con_codrepasse = convenios.con_codigo; tmp:=''convenios|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''con_codigo='' || new.con_codrepasse || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.con_codrepasse 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 orcamento where new.fil_codigo = orcamento.fil_codigo and new.orc_codigo = orcamento.orc_codigo; tmp:=''orcamento|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''orc_codigo='' || new.orc_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.orc_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela orcamento. 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 usuario where new.usr_codexcluida = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codexcluida || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codexcluida 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 entidade where new.fil_codigo = entidade.fil_codigo and new.ent_codigo = entidade.ent_codigo; tmp:=''entidade|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''ent_codigo='' || new.ent_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.ent_codigo 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 embalagemproduto where new.fil_codigo = embalagemproduto.fil_codigo and new.emb_codigo = embalagemproduto.emb_codigo; tmp:=''embalagemproduto|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''emb_codigo='' || new.emb_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.emb_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela embalagemproduto. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from unidademedida where new.fil_codigo = unidademedida.fil_codigo and new.unm_codigo = unidademedida.unm_codigo; tmp:=''unidademedida|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''unm_codigo='' || new.unm_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.unm_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela unidademedida. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from situacao where new.fil_codigo = situacao.fil_codigo and new.sit_codigo = situacao.sit_codigo; tmp:=''situacao|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''sit_codigo='' || new.sit_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.sit_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela situacao. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from alahospital where new.fil_codigo = alahospital.fil_codigo and new.ala_codigo = alahospital.ala_codigo; tmp:=''alahospital|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''ala_codigo='' || new.ala_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.ala_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela alahospital. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from filiais_postocoleta where new.fil_codcopia = filiais_postocoleta.fil_codigo; tmp:=''filiais_postocoleta|''; tmp:=tmp || ''fil_codigo='' || new.fil_codcopia || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codcopia 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 usuario where new.usr_codabertura = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codabertura || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codabertura 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 estacoes where new.est_codigo = estacoes.est_codigo; tmp:=''estacoes|''; tmp:=tmp || ''est_codigo='' || new.est_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.est_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela estacoes. 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; select count(*) into numrows from coletas where new.fil_codigo = coletas.fil_codigo and new.col_codigo = coletas.col_codigo; tmp:=''coletas|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''col_codigo='' || new.col_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.col_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela coletas. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from destino where new.fil_codigo = destino.fil_codigo and new.des_codigo = destino.des_codigo; tmp:=''destino|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''des_codigo='' || new.des_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.des_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela destino. 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 paciente where new.fil_codigo = paciente.fil_codigo and new.pac_codigo = paciente.pac_codigo; tmp:=''paciente|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''pac_codigo='' || new.pac_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 paciente. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; return old; end;' language 'plpgsql'; create trigger tu_requisicao after update on requisicao for each row execute procedure fn_tu_requisicao(); insert into atualizacoes(atu_nome) values ('v16030003_211116.sql'); alter table filiais_postocoleta add fil_copiacertificadoanalise varchar(200); insert into atualizacoes(atu_nome) values ('v16030004_251116.sql');