drop index xpklogemail; drop index xif1logemail; drop index xif2logemail; drop index xif3logemail; drop index xdataenvio; drop index xdataenviosituacao; drop index xif3logsms; drop index xif2logsms; drop index xif1logsms; drop index xpklogsms; alter table logemail drop constraint logemail_pkey; alter table logsms drop constraint logsms_pkey; alter table logemail add ema_filial varchar(1) not null default 'N'; create unique index xpklogemail on logemail ( fil_codigo, ema_codigo, ema_filial ); create index xif1logemail on logemail ( fil_codigo ); create index xif2logemail on logemail ( fil_codigo, req_codigo ); create index xif3logemail on logemail ( fil_codigo, pac_codigo ); alter table logemail add primary key (fil_codigo, ema_codigo, ema_filial); alter table logids add ids_falha boolean default false; update logids set ids_falha = (position(upper('resultado importado') in upper(ids_mensagem)) > 0); alter table logsms add sms_filial varchar(1) not null default 'N' ; create unique index xpklogsms on logsms ( fil_codigo, sms_codigo, sms_filial ); create index xif1logsms on logsms ( fil_codigo ); create index xif2logsms on logsms ( fil_codigo, pac_codigo ); create index xif3logsms on logsms ( fil_codigo, req_codigo ); create index xdataenvio on logsms ( sms_dataenvio ); create index xdataenviosituacao on logsms ( sms_datahora, sms_situacao ); alter table logsms add primary key (fil_codigo, sms_codigo, sms_filial); drop function fn_ti_logemail() cascade; create function fn_ti_logemail() returns opaque as ' declare numrows integer; tmp varchar; begin 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 ( new.fil_codigo is not null and new.pac_codigo is not null and 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; select count(*) into numrows from requisicao where new.fil_codigo = requisicao.fil_codigo and new.req_codigo = requisicao.req_codigo; tmp:=''requisicao|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''req_codigo='' || new.req_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.req_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela requisicao. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from filiais_postocoleta where new.fil_codigo = filiais_postocoleta.fil_codigo; tmp:=''filiais_postocoleta|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela filiais_postocoleta. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; return new; end;' language 'plpgsql'; create trigger ti_logemail after insert on logemail for each row execute procedure fn_ti_logemail(); drop function fn_tu_logemail() cascade; create function fn_tu_logemail() returns opaque as ' declare numrows integer; tmp varchar; begin 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 ( new.fil_codigo is not null and new.pac_codigo is not null and 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; select count(*) into numrows from requisicao where new.fil_codigo = requisicao.fil_codigo and new.req_codigo = requisicao.req_codigo; tmp:=''requisicao|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''req_codigo='' || new.req_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.req_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela requisicao. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from filiais_postocoleta where new.fil_codigo = filiais_postocoleta.fil_codigo; tmp:=''filiais_postocoleta|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela filiais_postocoleta. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; return old; end;' language 'plpgsql'; create trigger tu_logemail after update on logemail for each row execute procedure fn_tu_logemail(); drop function fn_ti_logids() cascade; create function fn_ti_logids() returns opaque as ' declare numrows integer; tmp varchar; begin select count(*) into numrows from examerequisicao where new.fil_codigo = examerequisicao.fil_codigo and new.exa_codigo = examerequisicao.exa_codigo and new.mco_codigo = examerequisicao.mco_codigo and new.req_codigo = examerequisicao.req_codigo; tmp:=''examerequisicao|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''exa_codigo='' || new.exa_codigo || ''|''; tmp:=tmp || ''mco_codigo='' || new.mco_codigo || ''|''; tmp:=tmp || ''req_codigo='' || new.req_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.exa_codigo is not null and new.mco_codigo is not null and new.req_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela examerequisicao. 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; return new; end;' language 'plpgsql'; create trigger ti_logids after insert on logids for each row execute procedure fn_ti_logids(); drop function fn_tu_logids() cascade; create function fn_tu_logids() returns opaque as ' declare numrows integer; tmp varchar; begin select count(*) into numrows from examerequisicao where new.fil_codigo = examerequisicao.fil_codigo and new.exa_codigo = examerequisicao.exa_codigo and new.mco_codigo = examerequisicao.mco_codigo and new.req_codigo = examerequisicao.req_codigo; tmp:=''examerequisicao|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''exa_codigo='' || new.exa_codigo || ''|''; tmp:=tmp || ''mco_codigo='' || new.mco_codigo || ''|''; tmp:=tmp || ''req_codigo='' || new.req_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.exa_codigo is not null and new.mco_codigo is not null and new.req_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela examerequisicao. 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; return old; end;' language 'plpgsql'; create trigger tu_logids after update on logids for each row execute procedure fn_tu_logids(); drop function fn_ti_logsms() cascade; create function fn_ti_logsms() returns opaque as ' declare numrows integer; tmp varchar; begin select count(*) into numrows from requisicao where new.fil_codigo = requisicao.fil_codigo and new.req_codigo = requisicao.req_codigo; tmp:=''requisicao|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''req_codigo='' || new.req_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.req_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela requisicao. 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 ( new.fil_codigo is not null and new.pac_codigo is not null and 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; 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_logsms after insert on logsms for each row execute procedure fn_ti_logsms(); drop function fn_tu_logsms() cascade; create function fn_tu_logsms() returns opaque as ' declare numrows integer; tmp varchar; begin select count(*) into numrows from requisicao where new.fil_codigo = requisicao.fil_codigo and new.req_codigo = requisicao.req_codigo; tmp:=''requisicao|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''req_codigo='' || new.req_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.req_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela requisicao. 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 ( new.fil_codigo is not null and new.pac_codigo is not null and 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; 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_logsms after update on logsms for each row execute procedure fn_tu_logsms(); insert into atualizacoes(atu_nome) values ('v22010001_130122sql'); alter table servico add svc_tipo varchar(1) default 'A'; insert into atualizacoes(atu_nome) values ('v22010002_170122sql'); alter table convenios add lae_codigo integer; create index xif225convenios on convenios ( fil_codigo, lae_codigo ); drop function fn_td_convenios() cascade; create function fn_td_convenios() returns opaque as ' declare numrows integer; begin delete from acessowebconvenio where acessowebconvenio.fil_codigo = old.fil_codigo and acessowebconvenio.con_codigo = old.con_codigo; select count(*) into numrows from conveniounidadesaude where conveniounidadesaude.fil_codigo = old.fil_codigo and conveniounidadesaude.con_codigo = old.con_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela conveniounidadesaude.''; end if; delete from conveniosintegracaooperadora where conveniosintegracaooperadora.fil_codigo = old.fil_codigo and conveniosintegracaooperadora.con_codigo = old.con_codigo; select count(*) into numrows from exportaintegracaooperadora where exportaintegracaooperadora.fil_codigo = old.fil_codigo and exportaintegracaooperadora.con_codigo = old.con_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela exportaintegracaooperadora.''; end if; delete from conveniocotaexamesituacao where conveniocotaexamesituacao.fil_codigo = old.fil_codigo and conveniocotaexamesituacao.con_codigo = old.con_codigo; select count(*) into numrows from conveniocotaexame where conveniocotaexame.fil_codigo = old.fil_codigo and conveniocotaexame.con_codigo = old.con_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela conveniocotaexame.''; end if; select count(*) into numrows from conveniomatricula where conveniomatricula.fil_codigo = old.fil_codigo and conveniomatricula.con_codigo = old.con_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela conveniomatricula.''; end if; delete from conveniostaxa where conveniostaxa.fil_codigo = old.fil_codigo and conveniostaxa.con_codigo = old.con_codigo; delete from convenioshistoricocota where convenioshistoricocota.fil_codigo = old.fil_codigo and convenioshistoricocota.con_codigo = old.con_codigo; select count(*) into numrows from requisicaoweb where requisicaoweb.fil_codigo = old.fil_codigo and requisicaoweb.con_codigo = old.con_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela requisicaoweb.''; end if; delete from convenioapoiado where convenioapoiado.fil_codigo = old.fil_codigo and convenioapoiado.con_codigo = old.con_codigo; delete from apropriaplanoconta where apropriaplanoconta.fil_codigo = old.fil_codigo and apropriaplanoconta.con_codigo = old.con_codigo; delete from apropriacentrocusto where apropriacentrocusto.fil_codigo = old.fil_codigo and apropriacentrocusto.con_codigo = old.con_codigo; delete from contrassenharequisicao where contrassenharequisicao.fil_codigo = old.fil_codigo and contrassenharequisicao.con_codigo = old.con_codigo; delete from convenioignorarecebimento where convenioignorarecebimento.fil_codigo = old.fil_codigo and convenioignorarecebimento.con_codigo = old.con_codigo; select count(*) into numrows from materialenviado where materialenviado.fil_codigo = old.fil_codigo and materialenviado.con_codigo = old.con_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 faturarequisicao where faturarequisicao.fil_codigo = old.fil_codigo and faturarequisicao.con_codigo = old.con_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela faturarequisicao.''; end if; select count(*) into numrows from requisicao where requisicao.fil_codigo = old.fil_codigo and requisicao.con_codrepasse = old.con_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 conveniosrepasse where conveniosrepasse.fil_codigo = old.fil_codigo and conveniosrepasse.con_codrepasse = old.con_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela conveniosrepasse.''; end if; delete from conveniosrepasse where conveniosrepasse.fil_codigo = old.fil_codigo and conveniosrepasse.con_codigo = old.con_codigo; delete from conveniospreco where conveniospreco.fil_codigo = old.fil_codigo and conveniospreco.con_codigo = old.con_codigo; select count(*) into numrows from orcamentoconvenio where orcamentoconvenio.fil_codigo = old.fil_codigo and orcamentoconvenio.con_codigo = old.con_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela orcamentoconvenio.''; end if; delete from convenioentidade where convenioentidade.fil_codigo = old.fil_codigo and convenioentidade.con_codigo = old.con_codigo; select count(*) into numrows from notafiscal where notafiscal.fil_codigo = old.fil_codigo and notafiscal.con_codigo = old.con_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela notafiscal.''; end if; select count(*) into numrows from receberpagar where receberpagar.fil_codigo = old.fil_codigo and receberpagar.con_codigo = old.con_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela receberpagar.''; end if; delete from convenioscontatos where convenioscontatos.fil_codigo = old.fil_codigo and convenioscontatos.con_codigo = old.con_codigo; delete from medicoconvenioproibido where medicoconvenioproibido.fil_codigo = old.fil_codigo and medicoconvenioproibido.con_codigo = old.con_codigo; select count(*) into numrows from medicoconveniotiss where medicoconveniotiss.fil_codigo = old.fil_codigo and medicoconveniotiss.con_codigo = old.con_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela medicoconveniotiss.''; end if; select count(*) into numrows from paciente where paciente.fil_codigo = old.fil_codigo and paciente.con_codigo = old.con_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela paciente.''; end if; select count(*) into numrows from examematconvenioprazo where examematconvenioprazo.fil_codigo = old.fil_codigo and examematconvenioprazo.con_codigo = old.con_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examematconvenioprazo.''; end if; select count(*) into numrows from loteapoio where loteapoio.fil_codigo = old.fil_codigo and loteapoio.con_codigo = old.con_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela loteapoio.''; end if; delete from exportaapoio where exportaapoio.fil_codigo = old.fil_codigo and exportaapoio.con_codigo = old.con_codigo; select count(*) into numrows from conveniomensagem where conveniomensagem.fil_codigo = old.fil_codigo and conveniomensagem.con_codigo = old.con_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela conveniomensagem.''; end if; select count(*) into numrows from fatura where fatura.fil_codigo = old.fil_codigo and fatura.con_codigo = old.con_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 agrupasituacao where agrupasituacao.fil_codigo = old.fil_codigo and agrupasituacao.con_codigo = old.con_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela agrupasituacao.''; end if; select count(*) into numrows from agrupaexameconvenio where agrupaexameconvenio.fil_codigo = old.fil_codigo and agrupaexameconvenio.con_codigo = old.con_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela agrupaexameconvenio.''; end if; delete from examesmatconvenio where examesmatconvenio.fil_codigo = old.fil_codigo and examesmatconvenio.con_codigo = old.con_codigo; delete from conveniodesconto where conveniodesconto.fil_codigo = old.fil_codigo and conveniodesconto.con_codigo = old.con_codigo; select count(*) into numrows from filialfatura where filialfatura.fil_codigo = old.fil_codigo and filialfatura.con_codigo = old.con_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela filialfatura.''; end if; select count(*) into numrows from filialfatura where filialfatura.fil_codfat = old.fil_codigo and filialfatura.con_codfat = old.con_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela filialfatura.''; end if; delete from adicionalfatura where adicionalfatura.fil_codigo = old.fil_codigo and adicionalfatura.con_codigo = old.con_codigo; delete from despcobranca where despcobranca.fil_codigo = old.fil_codigo and despcobranca.con_codigo = old.con_codigo; delete from pacienteconvenio where pacienteconvenio.fil_codigo = old.fil_codigo and pacienteconvenio.con_codigo = old.con_codigo; select count(*) into numrows from medicoconvenio where medicoconvenio.fil_codigo = old.fil_codigo and medicoconvenio.con_codigo = old.con_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela medicoconvenio.''; end if; delete from destinoconvlayout where destinoconvlayout.fil_codigo = old.fil_codigo and destinoconvlayout.con_codigo = old.con_codigo; select count(*) into numrows from requisicao where requisicao.fil_codigo = old.fil_codigo and requisicao.con_codigo = old.con_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela requisicao.''; end if; delete from conveniosvencimento where conveniosvencimento.fil_codigo = old.fil_codigo and conveniosvencimento.con_codigo = old.con_codigo; return old; end;' language 'plpgsql'; create trigger td_convenios after delete on convenios for each row execute procedure fn_td_convenios(); drop function fn_ti_convenios() cascade; create function fn_ti_convenios() 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 layout where new.lay_codigoapoio = layout.lay_codigo and new.fil_codigo = layout.fil_codigo; tmp:=''layout|''; tmp:=tmp || ''lay_codigo='' || new.lay_codigoapoio || ''|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.lay_codigoapoio is not null and new.fil_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela layout. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from rota where new.fil_codigo = rota.fil_codigo and new.rot_codigo = rota.rot_codigo; tmp:=''rota|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''rot_codigo='' || new.rot_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.rot_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela rota. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from celulaestoque where new.fil_codigo = celulaestoque.fil_codigo and new.cel_codigo = celulaestoque.cel_codigo; tmp:=''celulaestoque|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''cel_codigo='' || new.cel_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.cel_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela celulaestoque. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_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 layout where new.lay_codigo = layout.lay_codigo and new.fil_codigo = layout.fil_codigo; tmp:=''layout|''; tmp:=tmp || ''lay_codigo='' || new.lay_codigo || ''|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.lay_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 layout. 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 bairro where new.fil_codigo = bairro.fil_codigo and new.bai_codcobranca = bairro.bai_codigo; tmp:=''bairro|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''bai_codigo='' || new.bai_codcobranca || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.bai_codcobranca is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela bairro. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from cidades where new.fil_codigo = cidades.fil_codigo and new.cid_codigo = cidades.cid_codigo; tmp:=''cidades|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''cid_codigo='' || new.cid_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.cid_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela cidades. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from cidades where new.fil_codigo = cidades.fil_codigo and new.cid_codcobranca = cidades.cid_codigo; tmp:=''cidades|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''cid_codigo='' || new.cid_codcobranca || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.cid_codcobranca is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela cidades. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from tabelaprecoexames where new.fil_codigo = tabelaprecoexames.fil_codigo and new.tpe_codigo = tabelaprecoexames.tpe_codigo; tmp:=''tabelaprecoexames|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''tpe_codigo='' || new.tpe_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.tpe_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela tabelaprecoexames. 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 prioridade where new.fil_codigo = prioridade.fil_codigo and new.pri_codigo = prioridade.pri_codigo; tmp:=''prioridade|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''pri_codigo='' || new.pri_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.pri_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela prioridade. 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 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; return new; end;' language 'plpgsql'; create trigger ti_convenios after insert on convenios for each row execute procedure fn_ti_convenios(); drop function fn_tu_convenios() cascade; create function fn_tu_convenios() returns opaque as ' declare numrows integer; tmp varchar; begin if (old.fil_codigo <> new.fil_codigo or old.con_codigo <> new.con_codigo) then select count(*) from acessowebconvenio where acessowebconvenio.fil_codigo = old.fil_codigo and acessowebconvenio.con_codigo = old.con_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela acessowebconvenio.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.con_codigo <> new.con_codigo) then select count(*) from conveniounidadesaude where conveniounidadesaude.fil_codigo = old.fil_codigo and conveniounidadesaude.con_codigo = old.con_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela conveniounidadesaude.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.con_codigo <> new.con_codigo) then select count(*) from conveniosintegracaooperadora where conveniosintegracaooperadora.fil_codigo = old.fil_codigo and conveniosintegracaooperadora.con_codigo = old.con_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela conveniosintegracaooperadora.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.con_codigo <> new.con_codigo) then select count(*) from exportaintegracaooperadora where exportaintegracaooperadora.fil_codigo = old.fil_codigo and exportaintegracaooperadora.con_codigo = old.con_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela exportaintegracaooperadora.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.con_codigo <> new.con_codigo) then select count(*) from conveniocotaexamesituacao where conveniocotaexamesituacao.fil_codigo = old.fil_codigo and conveniocotaexamesituacao.con_codigo = old.con_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela conveniocotaexamesituacao.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.con_codigo <> new.con_codigo) then select count(*) from conveniocotaexame where conveniocotaexame.fil_codigo = old.fil_codigo and conveniocotaexame.con_codigo = old.con_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela conveniocotaexame.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.con_codigo <> new.con_codigo) then select count(*) from conveniomatricula where conveniomatricula.fil_codigo = old.fil_codigo and conveniomatricula.con_codigo = old.con_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela conveniomatricula.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.con_codigo <> new.con_codigo) then select count(*) from conveniostaxa where conveniostaxa.fil_codigo = old.fil_codigo and conveniostaxa.con_codigo = old.con_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela conveniostaxa.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.con_codigo <> new.con_codigo) then select count(*) from convenioshistoricocota where convenioshistoricocota.fil_codigo = old.fil_codigo and convenioshistoricocota.con_codigo = old.con_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela convenioshistoricocota.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.con_codigo <> new.con_codigo) then select count(*) from requisicaoweb where requisicaoweb.fil_codigo = old.fil_codigo and requisicaoweb.con_codigo = old.con_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.con_codigo <> new.con_codigo) then select count(*) from convenioapoiado where convenioapoiado.fil_codigo = old.fil_codigo and convenioapoiado.con_codigo = old.con_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela convenioapoiado.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.con_codigo <> new.con_codigo) then select count(*) from apropriaplanoconta where apropriaplanoconta.fil_codigo = old.fil_codigo and apropriaplanoconta.con_codigo = old.con_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela apropriaplanoconta.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.con_codigo <> new.con_codigo) then select count(*) from apropriacentrocusto where apropriacentrocusto.fil_codigo = old.fil_codigo and apropriacentrocusto.con_codigo = old.con_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela apropriacentrocusto.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.con_codigo <> new.con_codigo) then select count(*) from contrassenharequisicao where contrassenharequisicao.fil_codigo = old.fil_codigo and contrassenharequisicao.con_codigo = old.con_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela contrassenharequisicao.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.con_codigo <> new.con_codigo) then select count(*) from convenioignorarecebimento where convenioignorarecebimento.fil_codigo = old.fil_codigo and convenioignorarecebimento.con_codigo = old.con_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela convenioignorarecebimento.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.con_codigo <> new.con_codigo) then select count(*) from materialenviado where materialenviado.fil_codigo = old.fil_codigo and materialenviado.con_codigo = old.con_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela materialenviado.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.con_codigo <> new.con_codigo) then select count(*) from faturarequisicao where faturarequisicao.fil_codigo = old.fil_codigo and faturarequisicao.con_codigo = old.con_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.con_codigo <> new.con_codigo) then select count(*) from requisicao where requisicao.fil_codigo = old.fil_codigo and requisicao.con_codrepasse = old.con_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 or old.con_codigo <> new.con_codigo) then select count(*) from conveniosrepasse where conveniosrepasse.fil_codigo = old.fil_codigo and conveniosrepasse.con_codrepasse = old.con_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela conveniosrepasse.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.con_codigo <> new.con_codigo) then select count(*) from conveniosrepasse where conveniosrepasse.fil_codigo = old.fil_codigo and conveniosrepasse.con_codigo = old.con_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela conveniosrepasse.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.con_codigo <> new.con_codigo) then select count(*) from conveniospreco where conveniospreco.fil_codigo = old.fil_codigo and conveniospreco.con_codigo = old.con_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela conveniospreco.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.con_codigo <> new.con_codigo) then select count(*) from orcamentoconvenio where orcamentoconvenio.fil_codigo = old.fil_codigo and orcamentoconvenio.con_codigo = old.con_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela orcamentoconvenio.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.con_codigo <> new.con_codigo) then select count(*) from convenioentidade where convenioentidade.fil_codigo = old.fil_codigo and convenioentidade.con_codigo = old.con_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela convenioentidade.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.con_codigo <> new.con_codigo) then select count(*) from notafiscal where notafiscal.fil_codigo = old.fil_codigo and notafiscal.con_codigo = old.con_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela notafiscal.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.con_codigo <> new.con_codigo) then select count(*) from receberpagar where receberpagar.fil_codigo = old.fil_codigo and receberpagar.con_codigo = old.con_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela receberpagar.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.con_codigo <> new.con_codigo) then select count(*) from convenioscontatos where convenioscontatos.fil_codigo = old.fil_codigo and convenioscontatos.con_codigo = old.con_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela convenioscontatos.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.con_codigo <> new.con_codigo) then select count(*) from medicoconvenioproibido where medicoconvenioproibido.fil_codigo = old.fil_codigo and medicoconvenioproibido.con_codigo = old.con_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela medicoconvenioproibido.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.con_codigo <> new.con_codigo) then select count(*) from medicoconveniotiss where medicoconveniotiss.fil_codigo = old.fil_codigo and medicoconveniotiss.con_codigo = old.con_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela medicoconveniotiss.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.con_codigo <> new.con_codigo) then select count(*) from paciente where paciente.fil_codigo = old.fil_codigo and paciente.con_codigo = old.con_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela paciente.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.con_codigo <> new.con_codigo) then select count(*) from examematconvenioprazo where examematconvenioprazo.fil_codigo = old.fil_codigo and examematconvenioprazo.con_codigo = old.con_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examematconvenioprazo.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.con_codigo <> new.con_codigo) then select count(*) from loteapoio where loteapoio.fil_codigo = old.fil_codigo and loteapoio.con_codigo = old.con_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela loteapoio.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.con_codigo <> new.con_codigo) then select count(*) from exportaapoio where exportaapoio.fil_codigo = old.fil_codigo and exportaapoio.con_codigo = old.con_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela exportaapoio.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.con_codigo <> new.con_codigo) then select count(*) from conveniomensagem where conveniomensagem.fil_codigo = old.fil_codigo and conveniomensagem.con_codigo = old.con_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela conveniomensagem.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.con_codigo <> new.con_codigo) then select count(*) from fatura where fatura.fil_codigo = old.fil_codigo and fatura.con_codigo = old.con_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 or old.con_codigo <> new.con_codigo) then select count(*) from agrupasituacao where agrupasituacao.fil_codigo = old.fil_codigo and agrupasituacao.con_codigo = old.con_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela agrupasituacao.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.con_codigo <> new.con_codigo) then select count(*) from agrupaexameconvenio where agrupaexameconvenio.fil_codigo = old.fil_codigo and agrupaexameconvenio.con_codigo = old.con_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela agrupaexameconvenio.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.con_codigo <> new.con_codigo) then select count(*) from examesmatconvenio where examesmatconvenio.fil_codigo = old.fil_codigo and examesmatconvenio.con_codigo = old.con_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examesmatconvenio.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.con_codigo <> new.con_codigo) then select count(*) from conveniodesconto where conveniodesconto.fil_codigo = old.fil_codigo and conveniodesconto.con_codigo = old.con_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela conveniodesconto.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.con_codigo <> new.con_codigo) then select count(*) from filialfatura where filialfatura.fil_codigo = old.fil_codigo and filialfatura.con_codigo = old.con_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela filialfatura.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.con_codigo <> new.con_codigo) then select count(*) from filialfatura where filialfatura.fil_codfat = old.fil_codigo and filialfatura.con_codfat = old.con_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela filialfatura.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.con_codigo <> new.con_codigo) then select count(*) from adicionalfatura where adicionalfatura.fil_codigo = old.fil_codigo and adicionalfatura.con_codigo = old.con_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela adicionalfatura.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.con_codigo <> new.con_codigo) then select count(*) from despcobranca where despcobranca.fil_codigo = old.fil_codigo and despcobranca.con_codigo = old.con_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela despcobranca.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.con_codigo <> new.con_codigo) then select count(*) from pacienteconvenio where pacienteconvenio.fil_codigo = old.fil_codigo and pacienteconvenio.con_codigo = old.con_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela pacienteconvenio.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.con_codigo <> new.con_codigo) then select count(*) from medicoconvenio where medicoconvenio.fil_codigo = old.fil_codigo and medicoconvenio.con_codigo = old.con_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela medicoconvenio.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.con_codigo <> new.con_codigo) then select count(*) from destinoconvlayout where destinoconvlayout.fil_codigo = old.fil_codigo and destinoconvlayout.con_codigo = old.con_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela destinoconvlayout.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.con_codigo <> new.con_codigo) then select count(*) from requisicao where requisicao.fil_codigo = old.fil_codigo and requisicao.con_codigo = old.con_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 or old.con_codigo <> new.con_codigo) then select count(*) from conveniosvencimento where conveniosvencimento.fil_codigo = old.fil_codigo and conveniosvencimento.con_codigo = old.con_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela conveniosvencimento.''; 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 layout where new.lay_codigoapoio = layout.lay_codigo and new.fil_codigo = layout.fil_codigo; tmp:=''layout|''; tmp:=tmp || ''lay_codigo='' || new.lay_codigoapoio || ''|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.lay_codigoapoio is not null and new.fil_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela layout. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from rota where new.fil_codigo = rota.fil_codigo and new.rot_codigo = rota.rot_codigo; tmp:=''rota|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''rot_codigo='' || new.rot_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.rot_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela rota. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from celulaestoque where new.fil_codigo = celulaestoque.fil_codigo and new.cel_codigo = celulaestoque.cel_codigo; tmp:=''celulaestoque|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''cel_codigo='' || new.cel_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.cel_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela celulaestoque. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_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 layout where new.lay_codigo = layout.lay_codigo and new.fil_codigo = layout.fil_codigo; tmp:=''layout|''; tmp:=tmp || ''lay_codigo='' || new.lay_codigo || ''|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.lay_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 layout. 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 bairro where new.fil_codigo = bairro.fil_codigo and new.bai_codcobranca = bairro.bai_codigo; tmp:=''bairro|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''bai_codigo='' || new.bai_codcobranca || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.bai_codcobranca is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela bairro. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from cidades where new.fil_codigo = cidades.fil_codigo and new.cid_codigo = cidades.cid_codigo; tmp:=''cidades|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''cid_codigo='' || new.cid_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.cid_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela cidades. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from cidades where new.fil_codigo = cidades.fil_codigo and new.cid_codcobranca = cidades.cid_codigo; tmp:=''cidades|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''cid_codigo='' || new.cid_codcobranca || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.cid_codcobranca is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela cidades. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from tabelaprecoexames where new.fil_codigo = tabelaprecoexames.fil_codigo and new.tpe_codigo = tabelaprecoexames.tpe_codigo; tmp:=''tabelaprecoexames|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''tpe_codigo='' || new.tpe_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.tpe_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela tabelaprecoexames. 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 prioridade where new.fil_codigo = prioridade.fil_codigo and new.pri_codigo = prioridade.pri_codigo; tmp:=''prioridade|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''pri_codigo='' || new.pri_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.pri_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela prioridade. 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 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; return old; end;' language 'plpgsql'; create trigger tu_convenios after update on convenios for each row execute procedure fn_tu_convenios(); drop function fn_td_labexterno() cascade; create function fn_td_labexterno() returns opaque as ' declare numrows integer; begin select count(*) into numrows from convenios where convenios.fil_codigo = old.fil_codigo and convenios.lae_codigo = old.lae_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela convenios.''; end if; select count(*) into numrows from materialalvaro where materialalvaro.fil_codigo = old.fil_codigo and materialalvaro.lae_codigo = old.lae_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela materialalvaro.''; end if; delete from labexternolotepardini where labexternolotepardini.fil_codigo = old.fil_codigo and labexternolotepardini.lae_codigo = old.lae_codigo; delete from labexternologintegracao where labexternologintegracao.fil_codigo = old.fil_codigo and labexternologintegracao.lae_codigo = old.lae_codigo; delete from labexternoversaotermo where labexternoversaotermo.fil_codigo = old.fil_codigo and labexternoversaotermo.lae_codigo = old.lae_codigo; select count(*) into numrows from examessaomarcos where examessaomarcos.fil_codigo = old.fil_codigo and examessaomarcos.lae_codigo = old.lae_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examessaomarcos.''; end if; delete from examessyslab where examessyslab.fil_codigo = old.fil_codigo and examessyslab.lae_codigo = old.lae_codigo; delete from examesunilab where examesunilab.fil_codigo = old.fil_codigo and examesunilab.lae_codigo = old.lae_codigo; select count(*) into numrows from filiais_postocoleta where filiais_postocoleta.fil_codigo = old.fil_codigo and filiais_postocoleta.lae_codigo = old.lae_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela filiais_postocoleta.''; end if; delete from logimportacaolabexterno where logimportacaolabexterno.fil_codigo = old.fil_codigo and logimportacaolabexterno.lae_codigo = old.lae_codigo; select count(*) into numrows from examessolucao where examessolucao.fil_codigo = old.fil_codigo and examessolucao.lae_codigo = old.lae_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examessolucao.''; end if; select count(*) into numrows from examesdb where examesdb.fil_codigo = old.fil_codigo and examesdb.lae_codigo = old.lae_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examesdb.''; end if; delete from examesatitude where examesatitude.fil_codigo = old.fil_codigo and examesatitude.lae_codigo = old.lae_codigo; delete from examesbalague where examesbalague.fil_codigo = old.fil_codigo and examesbalague.lae_codigo = old.lae_codigo; delete from examesdelta where examesdelta.fil_codigo = old.fil_codigo and examesdelta.lae_codigo = old.lae_codigo; select count(*) into numrows from examematcoletalabexterno where examematcoletalabexterno.fil_codigo = old.fil_codigo and examematcoletalabexterno.lae_codigo = old.lae_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examematcoletalabexterno.''; end if; select count(*) into numrows from examesmatrix where examesmatrix.fil_codigo = old.fil_codigo and examesmatrix.lae_codigo = old.lae_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examesmatrix.''; end if; select count(*) into numrows from examesrede where examesrede.fil_codigo = old.fil_codigo and examesrede.lae_codigo = old.lae_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examesrede.''; end if; delete from examesreacao where examesreacao.fil_codigo = old.fil_codigo and examesreacao.lae_codigo = old.lae_codigo; select count(*) into numrows from pacientelabexterno where pacientelabexterno.fil_codigo = old.fil_codigo and pacientelabexterno.lae_codigo = old.lae_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela pacientelabexterno.''; end if; select count(*) into numrows from requisicaolabexterno where requisicaolabexterno.fil_codigo = old.fil_codigo and requisicaolabexterno.lae_codigo = old.lae_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela requisicaolabexterno.''; end if; delete from examessergiofranco where examessergiofranco.fil_codigo = old.fil_codigo and examessergiofranco.lae_codigo = old.lae_codigo; delete from examesalvaro where examesalvaro.fil_codigo = old.fil_codigo and examesalvaro.lae_codigo = old.lae_codigo; select count(*) into numrows from examesjalis where examesjalis.fil_codigo = old.fil_codigo and examesjalis.lae_codigo = old.lae_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examesjalis.''; end if; delete from examespardini where examespardini.fil_codigo = old.fil_codigo and examespardini.lae_codigo = old.lae_codigo; select count(*) into numrows from loteexterno where loteexterno.fil_codigo = old.fil_codigo and loteexterno.lae_codigo = old.lae_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela loteexterno.''; end if; return old; end;' language 'plpgsql'; create trigger td_labexterno after delete on labexterno for each row execute procedure fn_td_labexterno(); drop function fn_ti_labexterno() cascade; create function fn_ti_labexterno() returns opaque as ' declare numrows integer; tmp varchar; begin select count(*) into numrows from prazoentrega where new.fil_codigo = prazoentrega.fil_codigo and new.prz_codigo = prazoentrega.prz_codigo; tmp:=''prazoentrega|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''prz_codigo='' || new.prz_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.prz_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela prazoentrega. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from metodologia where new.fil_codigo = metodologia.fil_codigo and new.met_codigo = metodologia.met_codigo; tmp:=''metodologia|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''met_codigo='' || new.met_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.met_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela metodologia. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from setores where new.fil_codigo = setores.fil_codigo and new.set_codigo = setores.set_codigo; tmp:=''setores|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''set_codigo='' || new.set_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.set_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela setores. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_codconferir = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codconferir || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codconferir is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from filiais_postocoleta where new.fil_codigo = filiais_postocoleta.fil_codigo; tmp:=''filiais_postocoleta|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela filiais_postocoleta. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; return new; end;' language 'plpgsql'; create trigger ti_labexterno after insert on labexterno for each row execute procedure fn_ti_labexterno(); drop function fn_tu_labexterno() cascade; create function fn_tu_labexterno() returns opaque as ' declare numrows integer; tmp varchar; begin if (old.fil_codigo <> new.fil_codigo or old.lae_codigo <> new.lae_codigo) then select count(*) from convenios where convenios.fil_codigo = old.fil_codigo and convenios.lae_codigo = old.lae_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela convenios.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.lae_codigo <> new.lae_codigo) then select count(*) from materialalvaro where materialalvaro.fil_codigo = old.fil_codigo and materialalvaro.lae_codigo = old.lae_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela materialalvaro.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.lae_codigo <> new.lae_codigo) then select count(*) from labexternolotepardini where labexternolotepardini.fil_codigo = old.fil_codigo and labexternolotepardini.lae_codigo = old.lae_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela labexternolotepardini.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.lae_codigo <> new.lae_codigo) then select count(*) from labexternologintegracao where labexternologintegracao.fil_codigo = old.fil_codigo and labexternologintegracao.lae_codigo = old.lae_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela labexternologintegracao.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.lae_codigo <> new.lae_codigo) then select count(*) from labexternoversaotermo where labexternoversaotermo.fil_codigo = old.fil_codigo and labexternoversaotermo.lae_codigo = old.lae_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela labexternoversaotermo.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.lae_codigo <> new.lae_codigo) then select count(*) from examessaomarcos where examessaomarcos.fil_codigo = old.fil_codigo and examessaomarcos.lae_codigo = old.lae_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examessaomarcos.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.lae_codigo <> new.lae_codigo) then select count(*) from examessyslab where examessyslab.fil_codigo = old.fil_codigo and examessyslab.lae_codigo = old.lae_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examessyslab.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.lae_codigo <> new.lae_codigo) then select count(*) from examesunilab where examesunilab.fil_codigo = old.fil_codigo and examesunilab.lae_codigo = old.lae_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examesunilab.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.lae_codigo <> new.lae_codigo) then select count(*) from filiais_postocoleta where filiais_postocoleta.fil_codigo = old.fil_codigo and filiais_postocoleta.lae_codigo = old.lae_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela filiais_postocoleta.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.lae_codigo <> new.lae_codigo) then select count(*) from logimportacaolabexterno where logimportacaolabexterno.fil_codigo = old.fil_codigo and logimportacaolabexterno.lae_codigo = old.lae_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela logimportacaolabexterno.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.lae_codigo <> new.lae_codigo) then select count(*) from examessolucao where examessolucao.fil_codigo = old.fil_codigo and examessolucao.lae_codigo = old.lae_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examessolucao.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.lae_codigo <> new.lae_codigo) then select count(*) from examesdb where examesdb.fil_codigo = old.fil_codigo and examesdb.lae_codigo = old.lae_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examesdb.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.lae_codigo <> new.lae_codigo) then select count(*) from examesatitude where examesatitude.fil_codigo = old.fil_codigo and examesatitude.lae_codigo = old.lae_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examesatitude.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.lae_codigo <> new.lae_codigo) then select count(*) from examesbalague where examesbalague.fil_codigo = old.fil_codigo and examesbalague.lae_codigo = old.lae_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examesbalague.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.lae_codigo <> new.lae_codigo) then select count(*) from examesdelta where examesdelta.fil_codigo = old.fil_codigo and examesdelta.lae_codigo = old.lae_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examesdelta.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.lae_codigo <> new.lae_codigo) then select count(*) from examematcoletalabexterno where examematcoletalabexterno.fil_codigo = old.fil_codigo and examematcoletalabexterno.lae_codigo = old.lae_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examematcoletalabexterno.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.lae_codigo <> new.lae_codigo) then select count(*) from examesmatrix where examesmatrix.fil_codigo = old.fil_codigo and examesmatrix.lae_codigo = old.lae_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examesmatrix.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.lae_codigo <> new.lae_codigo) then select count(*) from examesrede where examesrede.fil_codigo = old.fil_codigo and examesrede.lae_codigo = old.lae_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examesrede.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.lae_codigo <> new.lae_codigo) then select count(*) from examesreacao where examesreacao.fil_codigo = old.fil_codigo and examesreacao.lae_codigo = old.lae_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examesreacao.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.lae_codigo <> new.lae_codigo) then select count(*) from pacientelabexterno where pacientelabexterno.fil_codigo = old.fil_codigo and pacientelabexterno.lae_codigo = old.lae_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela pacientelabexterno.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.lae_codigo <> new.lae_codigo) then select count(*) from requisicaolabexterno where requisicaolabexterno.fil_codigo = old.fil_codigo and requisicaolabexterno.lae_codigo = old.lae_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela requisicaolabexterno.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.lae_codigo <> new.lae_codigo) then select count(*) from examessergiofranco where examessergiofranco.fil_codigo = old.fil_codigo and examessergiofranco.lae_codigo = old.lae_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examessergiofranco.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.lae_codigo <> new.lae_codigo) then select count(*) from examesalvaro where examesalvaro.fil_codigo = old.fil_codigo and examesalvaro.lae_codigo = old.lae_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examesalvaro.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.lae_codigo <> new.lae_codigo) then select count(*) from examesjalis where examesjalis.fil_codigo = old.fil_codigo and examesjalis.lae_codigo = old.lae_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examesjalis.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.lae_codigo <> new.lae_codigo) then select count(*) from examespardini where examespardini.fil_codigo = old.fil_codigo and examespardini.lae_codigo = old.lae_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examespardini.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.lae_codigo <> new.lae_codigo) then select count(*) from loteexterno where loteexterno.fil_codigo = old.fil_codigo and loteexterno.lae_codigo = old.lae_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela loteexterno.''; end if; end if; select count(*) into numrows from prazoentrega where new.fil_codigo = prazoentrega.fil_codigo and new.prz_codigo = prazoentrega.prz_codigo; tmp:=''prazoentrega|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''prz_codigo='' || new.prz_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.prz_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela prazoentrega. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from metodologia where new.fil_codigo = metodologia.fil_codigo and new.met_codigo = metodologia.met_codigo; tmp:=''metodologia|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''met_codigo='' || new.met_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.met_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela metodologia. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from setores where new.fil_codigo = setores.fil_codigo and new.set_codigo = setores.set_codigo; tmp:=''setores|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''set_codigo='' || new.set_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.set_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela setores. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_codconferir = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codconferir || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codconferir is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from filiais_postocoleta where new.fil_codigo = filiais_postocoleta.fil_codigo; tmp:=''filiais_postocoleta|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela filiais_postocoleta. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; return old; end;' language 'plpgsql'; create trigger tu_labexterno after update on labexterno for each row execute procedure fn_tu_labexterno(); insert into atualizacoes(atu_nome) values ('v22010003_280122sql');