update exames set exa_tipobpa = 'I' where exa_tipobpa is null; insert into atualizacoes(atu_nome) values ('v18040001_030518.sql'); alter table labexterno add lae_agruparmultiguias boolean default false; create table agendamentoexamerequisicao ( fil_codigo integer not null, agd_codigo integer not null, exa_codigo varchar(5) not null, mco_codigo integer not null, req_codigo integer not null ); create unique index xpkagendamentoexamerequisicao on agendamentoexamerequisicao ( fil_codigo, agd_codigo, exa_codigo, mco_codigo, req_codigo ); create index xif1agendamentoexamerequisicao on agendamentoexamerequisicao ( fil_codigo, agd_codigo ); create index xif2agendamentoexamerequisicao on agendamentoexamerequisicao ( fil_codigo, exa_codigo, mco_codigo, req_codigo ); alter table agendamentoexamerequisicao add primary key (fil_codigo, agd_codigo, exa_codigo, mco_codigo, req_codigo); create function fn_td_agendamento() returns opaque as ' declare numrows integer; begin select count(*) into numrows from agendamentoexamerequisicao where agendamentoexamerequisicao.fil_codigo = old.fil_codigo and agendamentoexamerequisicao.agd_codigo = old.agd_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela agendamentoexamerequisicao.''; end if; return old; end;' language 'plpgsql'; create trigger td_agendamento after delete on agendamento for each row execute procedure fn_td_agendamento(); drop function fn_ti_agendamento() cascade; create function fn_ti_agendamento() returns opaque as ' declare numrows integer; tmp varchar; begin select count(*) into numrows from usuario where new.usr_codhorarioanexado = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codhorarioanexado || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codhorarioanexado 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_codbloqueado = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codbloqueado || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codbloqueado 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_codfinalizado = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codfinalizado || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codfinalizado 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_codemcoleta = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codemcoleta || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codemcoleta 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_codremarcado = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codremarcado || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codremarcado 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 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 usuario where new.usr_codcancelamento = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codcancelamento || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codcancelamento 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 salaatendimento where new.fil_codigo = salaatendimento.fil_codigo and new.sal_codigo = salaatendimento.sal_codigo; tmp:=''salaatendimento|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''sal_codigo='' || new.sal_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.sal_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela salaatendimento. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_codigo = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from filiais_postocoleta where new.fil_codigo = filiais_postocoleta.fil_codigo; tmp:=''filiais_postocoleta|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela filiais_postocoleta. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; return new; end;' language 'plpgsql'; create trigger ti_agendamento after insert on agendamento for each row execute procedure fn_ti_agendamento(); drop function fn_tu_agendamento() cascade; create function fn_tu_agendamento() returns opaque as ' declare numrows integer; tmp varchar; begin if (old.fil_codigo <> new.fil_codigo or old.agd_codigo <> new.agd_codigo) then select count(*) from agendamentoexamerequisicao where agendamentoexamerequisicao.fil_codigo = old.fil_codigo and agendamentoexamerequisicao.agd_codigo = old.agd_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela agendamentoexamerequisicao.''; end if; end if; select count(*) into numrows from usuario where new.usr_codhorarioanexado = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codhorarioanexado || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codhorarioanexado 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_codbloqueado = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codbloqueado || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codbloqueado 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_codfinalizado = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codfinalizado || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codfinalizado 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_codemcoleta = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codemcoleta || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codemcoleta 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_codremarcado = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codremarcado || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codremarcado 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 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 usuario where new.usr_codcancelamento = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codcancelamento || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codcancelamento 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 salaatendimento where new.fil_codigo = salaatendimento.fil_codigo and new.sal_codigo = salaatendimento.sal_codigo; tmp:=''salaatendimento|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''sal_codigo='' || new.sal_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.sal_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela salaatendimento. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_codigo = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from filiais_postocoleta where new.fil_codigo = filiais_postocoleta.fil_codigo; tmp:=''filiais_postocoleta|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela filiais_postocoleta. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; return old; end;' language 'plpgsql'; create trigger tu_agendamento after update on agendamento for each row execute procedure fn_tu_agendamento(); --drop function fn_ti_agendamentoexamerequisicao() cascade; create function fn_ti_agendamentoexamerequisicao() 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 ( 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 agendamento where new.fil_codigo = agendamento.fil_codigo and new.agd_codigo = agendamento.agd_codigo; tmp:=''agendamento|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''agd_codigo='' || new.agd_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 agendamento. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; return new; end;' language 'plpgsql'; create trigger ti_agendamentoexamerequisicao after insert on agendamentoexamerequisicao for each row execute procedure fn_ti_agendamentoexamerequisicao(); --drop function fn_tu_agendamentoexamerequisicao() cascade; create function fn_tu_agendamentoexamerequisicao() 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 ( 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 agendamento where new.fil_codigo = agendamento.fil_codigo and new.agd_codigo = agendamento.agd_codigo; tmp:=''agendamento|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''agd_codigo='' || new.agd_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 agendamento. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; return old; end;' language 'plpgsql'; create trigger tu_agendamentoexamerequisicao after update on agendamentoexamerequisicao for each row execute procedure fn_tu_agendamentoexamerequisicao(); drop function fn_td_examerequisicao() cascade; create function fn_td_examerequisicao() returns opaque as ' declare numrows integer; begin delete from agendamentoexamerequisicao where agendamentoexamerequisicao.fil_codigo = old.fil_codigo and agendamentoexamerequisicao.exa_codigo = old.exa_codigo and agendamentoexamerequisicao.mco_codigo = old.mco_codigo and agendamentoexamerequisicao.req_codigo = old.req_codigo; delete from exportaintegracaohospital where exportaintegracaohospital.fil_codigo = old.fil_codigo and exportaintegracaohospital.exa_codigo = old.exa_codigo and exportaintegracaohospital.mco_codigo = old.mco_codigo and exportaintegracaohospital.req_codigo = old.req_codigo; select count(*) into numrows from logids where logids.fil_codigo = old.fil_codigo and logids.exa_codigo = old.exa_codigo and logids.mco_codigo = old.mco_codigo and logids.req_codigo = old.req_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela logids.''; end if; delete from examerequisicaohistoricosetor where examerequisicaohistoricosetor.fil_codigo = old.fil_codigo and examerequisicaohistoricosetor.exa_codigo = old.exa_codigo and examerequisicaohistoricosetor.mco_codigo = old.mco_codigo and examerequisicaohistoricosetor.req_codigo = old.req_codigo; delete from examerequisicaoetiquetas where examerequisicaoetiquetas.fil_codigo = old.fil_codigo and examerequisicaoetiquetas.exa_codigo = old.exa_codigo and examerequisicaoetiquetas.mco_codigo = old.mco_codigo and examerequisicaoetiquetas.req_codigo = old.req_codigo; delete from examerequisicaoemailatraso where examerequisicaoemailatraso.fil_codigo = old.fil_codigo and examerequisicaoemailatraso.exa_codigo = old.exa_codigo and examerequisicaoemailatraso.mco_codigo = old.mco_codigo and examerequisicaoemailatraso.req_codigo = old.req_codigo; select count(*) into numrows from examerequisicaodadosbrutos where examerequisicaodadosbrutos.fil_codigo = old.fil_codigo and examerequisicaodadosbrutos.exa_codigo = old.exa_codigo and examerequisicaodadosbrutos.mco_codigo = old.mco_codigo and examerequisicaodadosbrutos.req_codigo = old.req_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicaodadosbrutos.''; end if; delete from examerequisicaoincerteza where examerequisicaoincerteza.fil_codigo = old.fil_codigo and examerequisicaoincerteza.exa_codigo = old.exa_codigo and examerequisicaoincerteza.mco_codigo = old.mco_codigo and examerequisicaoincerteza.req_codigo = old.req_codigo; select count(*) into numrows from lotefilialexamerequisicao where lotefilialexamerequisicao.fil_codigo = old.fil_codigo and lotefilialexamerequisicao.exa_codigo = old.exa_codigo and lotefilialexamerequisicao.mco_codigo = old.mco_codigo and lotefilialexamerequisicao.req_codigo = old.req_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela lotefilialexamerequisicao.''; end if; delete from examerequisicaoresultado where examerequisicaoresultado.fil_codigo = old.fil_codigo and examerequisicaoresultado.exa_codigo = old.exa_codigo and examerequisicaoresultado.mco_codigo = old.mco_codigo and examerequisicaoresultado.req_codigo = old.req_codigo; select count(*) into numrows from examerequisicaolaminas where examerequisicaolaminas.fil_codigo = old.fil_codigo and examerequisicaolaminas.exa_codigo = old.exa_codigo and examerequisicaolaminas.mco_codigo = old.mco_codigo and examerequisicaolaminas.req_codigo = old.req_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicaolaminas.''; end if; select count(*) into numrows from examerequisicaohash where examerequisicaohash.fil_codigo = old.fil_codigo and examerequisicaohash.exa_codigo = old.exa_codigo and examerequisicaohash.mco_codigo = old.mco_codigo and examerequisicaohash.req_codigo = old.req_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicaohash.''; end if; delete from examerequisicaotrocas where examerequisicaotrocas.fil_codigo = old.fil_codigo and examerequisicaotrocas.exa_codigo = old.exa_codigo and examerequisicaotrocas.mco_codigo = old.mco_codigo and examerequisicaotrocas.req_codigo = old.req_codigo; delete from examerequisicaohistoricolaudo where examerequisicaohistoricolaudo.fil_codigo = old.fil_codigo and examerequisicaohistoricolaudo.exa_codigo = old.exa_codigo and examerequisicaohistoricolaudo.mco_codigo = old.mco_codigo and examerequisicaohistoricolaudo.req_codigo = old.req_codigo; delete from examerequisicaosetor where examerequisicaosetor.fil_codigo = old.fil_codigo and examerequisicaosetor.exa_codigo = old.exa_codigo and examerequisicaosetor.mco_codigo = old.mco_codigo and examerequisicaosetor.req_codigo = old.req_codigo; select count(*) into numrows from examerequisicaoguiaagrupada where examerequisicaoguiaagrupada.fil_codigo = old.fil_codigo and examerequisicaoguiaagrupada.exa_codigo = old.exa_codigo and examerequisicaoguiaagrupada.mco_codigo = old.mco_codigo and examerequisicaoguiaagrupada.req_codigo = old.req_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicaoguiaagrupada.''; end if; delete from examerequisicaosituacoes where examerequisicaosituacoes.fil_codigo = old.fil_codigo and examerequisicaosituacoes.exa_codigo = old.exa_codigo and examerequisicaosituacoes.mco_codigo = old.mco_codigo and examerequisicaosituacoes.req_codigo = old.req_codigo; select count(*) into numrows from loteexternoexamerequisicao where loteexternoexamerequisicao.fil_kodigo = old.fil_codigo and loteexternoexamerequisicao.exa_codigo = old.exa_codigo and loteexternoexamerequisicao.mco_codigo = old.mco_codigo and loteexternoexamerequisicao.req_codigo = old.req_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela loteexternoexamerequisicao.''; end if; delete from examerequisicaorecipiente where examerequisicaorecipiente.fil_codigo = old.fil_codigo and examerequisicaorecipiente.exa_codigo = old.exa_codigo and examerequisicaorecipiente.mco_codigo = old.mco_codigo and examerequisicaorecipiente.req_codigo = old.req_codigo; select count(*) into numrows from faturaexamerequisicao where faturaexamerequisicao.fil_kodigo = old.fil_codigo and faturaexamerequisicao.exa_codigo = old.exa_codigo and faturaexamerequisicao.mco_codigo = old.mco_codigo and faturaexamerequisicao.req_codigo = old.req_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela faturaexamerequisicao.''; end if; delete from interfaceexamerequisicao where interfaceexamerequisicao.fil_codigo = old.fil_codigo and interfaceexamerequisicao.exa_codigo = old.exa_codigo and interfaceexamerequisicao.mco_codigo = old.mco_codigo and interfaceexamerequisicao.req_codigo = old.req_codigo; delete from materialexamerequis where materialexamerequis.fil_codigo = old.fil_codigo and materialexamerequis.exa_codigo = old.exa_codigo and materialexamerequis.mco_codigo = old.mco_codigo and materialexamerequis.req_codigo = old.req_codigo; delete from examerequisicaoresultado where fil_codigo = old.fil_codigo and req_codigo = old.req_codigo and exa_codigo = old.exa_codigo and mco_codigo = old.mco_codigo; return old; end' language 'plpgsql'; create trigger td_examerequisicao after delete on examerequisicao for each row execute procedure fn_td_examerequisicao(); drop function fn_ti_examerequisicao() cascade; create function fn_ti_examerequisicao() returns opaque as ' declare numrows integer; tmp varchar; begin select count(*) into numrows from motivorecoleta where new.fil_codigo = motivorecoleta.fil_codigo and new.mrc_codigo = motivorecoleta.mrc_codigo; tmp:=''motivorecoleta|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''mrc_codigo='' || new.mrc_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.mrc_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela motivorecoleta. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_codduplaconferencia = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codduplaconferencia || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codduplaconferencia 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_codsolicitadotiss = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codsolicitadotiss || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codsolicitadotiss 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 examematcoleta where new.fil_codigo = examematcoleta.fil_codigo and new.exa_codigopai = examematcoleta.exa_codigo and new.mco_codigopai = examematcoleta.mco_codigo; tmp:=''examematcoleta|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''exa_codigo='' || new.exa_codigopai || ''|''; tmp:=tmp || ''mco_codigo='' || new.mco_codigopai || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.exa_codigopai is not null and new.mco_codigopai is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela examematcoleta. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_codcoletar = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codcoletar || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codcoletar 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_codtransportechegada = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codtransportechegada || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codtransportechegada 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_codtransportesaida = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codtransportesaida || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codtransportesaida 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_codtrocalayout = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codtrocalayout || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codtrocalayout 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_codalteracaopreco = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codalteracaopreco || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codalteracaopreco 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_codrecoleta = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codrecoleta || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codrecoleta 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_codfaturarepasse = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codfaturarepasse || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codfaturarepasse 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_codrepeticao = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codrepeticao || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codrepeticao 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_codguia = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codguia || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codguia 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_codexcluido = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codexcluido || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codexcluido 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_codmaterialsetor = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codmaterialsetor || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codmaterialsetor 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_codloteexterno = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codloteexterno || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codloteexterno 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_codetqtriagem = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codetqtriagem || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codetqtriagem 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_codetqcoleta = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codetqcoleta || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codetqcoleta 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_codtriagem = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codtriagem || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codtriagem 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_codnaofaturar = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codnaofaturar || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codnaofaturar 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_codcortesia = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codcortesia || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codcortesia 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_codmapa = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codmapa || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codmapa 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_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 examematcoleta where new.fil_codigo = examematcoleta.fil_codigo and new.exa_codigo = examematcoleta.exa_codigo and new.mco_codigo = examematcoleta.mco_codigo; tmp:=''examematcoleta|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''exa_codigo='' || new.exa_codigo || ''|''; tmp:=tmp || ''mco_codigo='' || new.mco_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 examematcoleta. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_codimpressao = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codimpressao || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codimpressao 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_codentrega = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codentrega || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codentrega 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_codfatura = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codfatura || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codfatura 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_codmaterial = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codmaterial || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codmaterial 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_coddigitador = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_coddigitador || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_coddigitador 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_codassina = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codassina || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codassina 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 materialcoleta where new.fil_codigo = materialcoleta.fil_codigo and new.mco_codigo = materialcoleta.mco_codigo; tmp:=''materialcoleta|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''mco_codigo='' || new.mco_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.mco_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela materialcoleta. 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 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 ( 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; insert into examerequisicaoresultado(fil_codigo, req_codigo, exa_codigo, mco_codigo, ert_resultado) values (new.fil_codigo, new.req_codigo, new.exa_codigo, new.mco_codigo, new.exr_resultado); /* troca o valor do campo de resultado na tabela exame requisicao */ new.exr_resultado = ''.''; return new; end' language 'plpgsql'; create trigger ti_examerequisicao after insert on examerequisicao for each row execute procedure fn_ti_examerequisicao(); drop function fn_tu_b_examerequisicao() cascade; create function fn_tu_b_examerequisicao() returns opaque as ' declare req bigint; begin select req_codigo into req from examerequisicaoresultado where fil_codigo = new.fil_codigo and req_codigo = new.req_codigo and exa_codigo = new.exa_codigo and mco_codigo = new.mco_codigo; if (not found) then insert into examerequisicaoresultado(fil_codigo, req_codigo, exa_codigo, mco_codigo) values (new.fil_codigo, new.req_codigo, new.exa_codigo, new.mco_codigo); end if; if ((upper(new.exr_situacao) = upper(''l'') or upper(new.exr_situacao) = upper(''c'') or upper(new.exr_situacao) = upper(''i'') or upper(new.exr_situacao) = upper(''e'') or upper(new.exr_situacao) = upper(''p'')) and new.exr_resultado is not null and length(new.exr_resultado) > 0) then update examerequisicaoresultado set ert_resultado = new.exr_resultado where fil_codigo = new.fil_codigo and req_codigo = new.req_codigo and exa_codigo = new.exa_codigo and mco_codigo = new.mco_codigo; end if; if ((new.exr_situacao is null or new.exr_situacao = '''' or upper(new.exr_situacao) = upper(''f'') or upper(new.exr_situacao) = upper(''t'') or upper(new.exr_situacao) = upper(''r''))) then update examerequisicaoresultado set ert_resultado = new.exr_resultado where fil_codigo = new.fil_codigo and req_codigo = new.req_codigo and exa_codigo = new.exa_codigo and mco_codigo = new.mco_codigo; end if; /* troca o valor do campo de resultado na tabela exame requisicao */ new.exr_resultado := null; return new; end' language 'plpgsql'; create trigger tu_b_examerequisicao before update on examerequisicao for each row execute procedure fn_tu_b_examerequisicao(); drop function fn_tu_examerequisicao() cascade; create function fn_tu_examerequisicao() returns opaque as ' declare numrows integer; tmp varchar; begin select count(*) into numrows from motivorecoleta where new.fil_codigo = motivorecoleta.fil_codigo and new.mrc_codigo = motivorecoleta.mrc_codigo; tmp:=''motivorecoleta|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''mrc_codigo='' || new.mrc_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.mrc_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela motivorecoleta. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_codduplaconferencia = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codduplaconferencia || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codduplaconferencia 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_codsolicitadotiss = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codsolicitadotiss || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codsolicitadotiss 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 examematcoleta where new.fil_codigo = examematcoleta.fil_codigo and new.exa_codigopai = examematcoleta.exa_codigo and new.mco_codigopai = examematcoleta.mco_codigo; tmp:=''examematcoleta|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''exa_codigo='' || new.exa_codigopai || ''|''; tmp:=tmp || ''mco_codigo='' || new.mco_codigopai || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.exa_codigopai is not null and new.mco_codigopai is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela examematcoleta. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_codcoletar = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codcoletar || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codcoletar 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_codtransportechegada = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codtransportechegada || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codtransportechegada 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_codtransportesaida = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codtransportesaida || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codtransportesaida 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_codtrocalayout = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codtrocalayout || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codtrocalayout 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_codalteracaopreco = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codalteracaopreco || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codalteracaopreco 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_codrecoleta = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codrecoleta || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codrecoleta 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_codfaturarepasse = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codfaturarepasse || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codfaturarepasse 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_codrepeticao = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codrepeticao || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codrepeticao 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_codguia = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codguia || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codguia 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_codexcluido = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codexcluido || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codexcluido 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_codmaterialsetor = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codmaterialsetor || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codmaterialsetor 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_codloteexterno = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codloteexterno || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codloteexterno 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_codetqtriagem = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codetqtriagem || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codetqtriagem 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_codetqcoleta = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codetqcoleta || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codetqcoleta 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_codtriagem = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codtriagem || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codtriagem 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_codnaofaturar = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codnaofaturar || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codnaofaturar 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_codcortesia = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codcortesia || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codcortesia 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_codmapa = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codmapa || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codmapa 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_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 examematcoleta where new.fil_codigo = examematcoleta.fil_codigo and new.exa_codigo = examematcoleta.exa_codigo and new.mco_codigo = examematcoleta.mco_codigo; tmp:=''examematcoleta|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''exa_codigo='' || new.exa_codigo || ''|''; tmp:=tmp || ''mco_codigo='' || new.mco_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 examematcoleta. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_codimpressao = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codimpressao || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codimpressao 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_codentrega = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codentrega || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codentrega 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_codfatura = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codfatura || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codfatura 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_codmaterial = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codmaterial || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codmaterial 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_coddigitador = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_coddigitador || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_coddigitador 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_codassina = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codassina || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codassina 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 materialcoleta where new.fil_codigo = materialcoleta.fil_codigo and new.mco_codigo = materialcoleta.mco_codigo; tmp:=''materialcoleta|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''mco_codigo='' || new.mco_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.mco_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela materialcoleta. 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 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 ( 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; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from agendamentoexamerequisicao where agendamentoexamerequisicao.fil_codigo = old.fil_codigo and agendamentoexamerequisicao.exa_codigo = old.exa_codigo and agendamentoexamerequisicao.mco_codigo = old.mco_codigo and agendamentoexamerequisicao.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 agendamentoexamerequisicao.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from exportaintegracaohospital where exportaintegracaohospital.fil_codigo = old.fil_codigo and exportaintegracaohospital.exa_codigo = old.exa_codigo and exportaintegracaohospital.mco_codigo = old.mco_codigo and exportaintegracaohospital.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 exportaintegracaohospital.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from logids where logids.fil_codigo = old.fil_codigo and logids.exa_codigo = old.exa_codigo and logids.mco_codigo = old.mco_codigo and logids.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 logids.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from examerequisicaohistoricosetor where examerequisicaohistoricosetor.fil_codigo = old.fil_codigo and examerequisicaohistoricosetor.exa_codigo = old.exa_codigo and examerequisicaohistoricosetor.mco_codigo = old.mco_codigo and examerequisicaohistoricosetor.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 examerequisicaohistoricosetor.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from examerequisicaoetiquetas where examerequisicaoetiquetas.fil_codigo = old.fil_codigo and examerequisicaoetiquetas.exa_codigo = old.exa_codigo and examerequisicaoetiquetas.mco_codigo = old.mco_codigo and examerequisicaoetiquetas.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 examerequisicaoetiquetas.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from examerequisicaoemailatraso where examerequisicaoemailatraso.fil_codigo = old.fil_codigo and examerequisicaoemailatraso.exa_codigo = old.exa_codigo and examerequisicaoemailatraso.mco_codigo = old.mco_codigo and examerequisicaoemailatraso.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 examerequisicaoemailatraso.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from examerequisicaodadosbrutos where examerequisicaodadosbrutos.fil_codigo = old.fil_codigo and examerequisicaodadosbrutos.exa_codigo = old.exa_codigo and examerequisicaodadosbrutos.mco_codigo = old.mco_codigo and examerequisicaodadosbrutos.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 examerequisicaodadosbrutos.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from examerequisicaoincerteza where examerequisicaoincerteza.fil_codigo = old.fil_codigo and examerequisicaoincerteza.exa_codigo = old.exa_codigo and examerequisicaoincerteza.mco_codigo = old.mco_codigo and examerequisicaoincerteza.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 examerequisicaoincerteza.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from lotefilialexamerequisicao where lotefilialexamerequisicao.fil_codigo = old.fil_codigo and lotefilialexamerequisicao.exa_codigo = old.exa_codigo and lotefilialexamerequisicao.mco_codigo = old.mco_codigo and lotefilialexamerequisicao.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 lotefilialexamerequisicao.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from examerequisicaoresultado where examerequisicaoresultado.fil_codigo = old.fil_codigo and examerequisicaoresultado.exa_codigo = old.exa_codigo and examerequisicaoresultado.mco_codigo = old.mco_codigo and examerequisicaoresultado.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 examerequisicaoresultado.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from examerequisicaolaminas where examerequisicaolaminas.fil_codigo = old.fil_codigo and examerequisicaolaminas.exa_codigo = old.exa_codigo and examerequisicaolaminas.mco_codigo = old.mco_codigo and examerequisicaolaminas.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 examerequisicaolaminas.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from examerequisicaohash where examerequisicaohash.fil_codigo = old.fil_codigo and examerequisicaohash.exa_codigo = old.exa_codigo and examerequisicaohash.mco_codigo = old.mco_codigo and examerequisicaohash.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 examerequisicaohash.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from examerequisicaotrocas where examerequisicaotrocas.fil_codigo = old.fil_codigo and examerequisicaotrocas.exa_codigo = old.exa_codigo and examerequisicaotrocas.mco_codigo = old.mco_codigo and examerequisicaotrocas.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 examerequisicaotrocas.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from examerequisicaohistoricolaudo where examerequisicaohistoricolaudo.fil_codigo = old.fil_codigo and examerequisicaohistoricolaudo.exa_codigo = old.exa_codigo and examerequisicaohistoricolaudo.mco_codigo = old.mco_codigo and examerequisicaohistoricolaudo.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 examerequisicaohistoricolaudo.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from examerequisicaosetor where examerequisicaosetor.fil_codigo = old.fil_codigo and examerequisicaosetor.exa_codigo = old.exa_codigo and examerequisicaosetor.mco_codigo = old.mco_codigo and examerequisicaosetor.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 examerequisicaosetor.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from examerequisicaoguiaagrupada where examerequisicaoguiaagrupada.fil_codigo = old.fil_codigo and examerequisicaoguiaagrupada.exa_codigo = old.exa_codigo and examerequisicaoguiaagrupada.mco_codigo = old.mco_codigo and examerequisicaoguiaagrupada.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 examerequisicaoguiaagrupada.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from examerequisicaosituacoes where examerequisicaosituacoes.fil_codigo = old.fil_codigo and examerequisicaosituacoes.exa_codigo = old.exa_codigo and examerequisicaosituacoes.mco_codigo = old.mco_codigo and examerequisicaosituacoes.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 examerequisicaosituacoes.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from loteexternoexamerequisicao where loteexternoexamerequisicao.fil_kodigo = old.fil_codigo and loteexternoexamerequisicao.exa_codigo = old.exa_codigo and loteexternoexamerequisicao.mco_codigo = old.mco_codigo and loteexternoexamerequisicao.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 loteexternoexamerequisicao.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from examerequisicaorecipiente where examerequisicaorecipiente.fil_codigo = old.fil_codigo and examerequisicaorecipiente.exa_codigo = old.exa_codigo and examerequisicaorecipiente.mco_codigo = old.mco_codigo and examerequisicaorecipiente.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 examerequisicaorecipiente.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from faturaexamerequisicao where faturaexamerequisicao.fil_kodigo = old.fil_codigo and faturaexamerequisicao.exa_codigo = old.exa_codigo and faturaexamerequisicao.mco_codigo = old.mco_codigo and faturaexamerequisicao.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 faturaexamerequisicao.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from interfaceexamerequisicao where interfaceexamerequisicao.fil_codigo = old.fil_codigo and interfaceexamerequisicao.exa_codigo = old.exa_codigo and interfaceexamerequisicao.mco_codigo = old.mco_codigo and interfaceexamerequisicao.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 interfaceexamerequisicao.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from materialexamerequis where materialexamerequis.fil_codigo = old.fil_codigo and materialexamerequis.exa_codigo = old.exa_codigo and materialexamerequis.mco_codigo = old.mco_codigo and materialexamerequis.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 materialexamerequis.''; end if; end if; return new; end' language 'plpgsql'; create trigger tu_examerequisicao after update on examerequisicao for each row execute procedure fn_tu_examerequisicao(); CREATE TRIGGER agendamentoexamerequisicao_log AFTER INSERT OR UPDATE OR DELETE ON public.agendamentoexamerequisicao FOR EACH ROW EXECUTE PROCEDURE geralog(); insert into atualizacoes(atu_nome) values ('v18040002_100518.sql'); create table conveniounidadesaude ( fil_codigo integer not null, con_codigo integer not null, cus_qtdeexame numeric(15,3), uns_codigo varchar(7) not null ); create unique index xpkconveniounidadesaude on conveniounidadesaude ( fil_codigo, con_codigo, uns_codigo ); create index xif1conveniounidadesaude on conveniounidadesaude ( fil_codigo, con_codigo ); create index xif2conveniounidadesaude on conveniounidadesaude ( fil_codigo, uns_codigo ); alter table conveniounidadesaude add primary key (fil_codigo, con_codigo, uns_codigo); drop function fn_td_convenios() cascade; create function fn_td_convenios() returns opaque as ' declare numrows integer; begin 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 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 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 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_ti_conveniounidadesaude() cascade; create function fn_ti_conveniounidadesaude() returns opaque as ' declare numrows integer; tmp varchar; begin 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 ( 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 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 ( 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; return new; end;' language 'plpgsql'; create trigger ti_conveniounidadesaude after insert on conveniounidadesaude for each row execute procedure fn_ti_conveniounidadesaude(); --drop function fn_tu_conveniounidadesaude() cascade; create function fn_tu_conveniounidadesaude() returns opaque as ' declare numrows integer; tmp varchar; begin 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 ( 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 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 ( 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; return old; end;' language 'plpgsql'; create trigger tu_conveniounidadesaude after update on conveniounidadesaude for each row execute procedure fn_tu_conveniounidadesaude(); drop function fn_td_unidadesaude() cascade; create function fn_td_unidadesaude() returns opaque as ' declare numrows integer; begin select count(*) into numrows from conveniounidadesaude where conveniounidadesaude.fil_codigo = old.fil_codigo and conveniounidadesaude.uns_codigo = old.uns_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela conveniounidadesaude.''; end if; select count(*) into numrows from paciente where paciente.fil_codigo = old.fil_codigo and paciente.uns_codigo = old.uns_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 requisicao where requisicao.fil_codigo = old.fil_codigo and requisicao.uns_codigo = old.uns_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_unidadesaude after delete on unidadesaude for each row execute procedure fn_td_unidadesaude(); drop function fn_ti_unidadesaude() cascade; create function fn_ti_unidadesaude() returns opaque as ' declare numrows integer; tmp varchar; begin 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 ( 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 ( 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 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_unidadesaude after insert on unidadesaude for each row execute procedure fn_ti_unidadesaude(); drop function fn_tu_unidadesaude() cascade; create function fn_tu_unidadesaude() returns opaque as ' declare numrows integer; tmp varchar; begin if (old.fil_codigo <> new.fil_codigo or old.uns_codigo <> new.uns_codigo) then select count(*) from conveniounidadesaude where conveniounidadesaude.fil_codigo = old.fil_codigo and conveniounidadesaude.uns_codigo = old.uns_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.uns_codigo <> new.uns_codigo) then select count(*) from paciente where paciente.fil_codigo = old.fil_codigo and paciente.uns_codigo = old.uns_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.uns_codigo <> new.uns_codigo) then select count(*) from requisicao where requisicao.fil_codigo = old.fil_codigo and requisicao.uns_codigo = old.uns_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 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 ( 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 ( 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 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_unidadesaude after update on unidadesaude for each row execute procedure fn_tu_unidadesaude(); CREATE TRIGGER conveniounidadesaude_log AFTER INSERT OR UPDATE OR DELETE ON public.conveniounidadesaude FOR EACH ROW EXECUTE PROCEDURE geralog(); insert into atualizacoes(atu_nome) values ('v18040003_210518.sql'); --Caso a coluna abaixo já exista, comente a linha. alter table conveniosintegracaooperadora add cio_pesquisarequisicao boolean;