alter table notafiscal alter nfi_protocolonfse type varchar(50); insert into atualizacoes(atu_nome) values ('v22050001_160522sql'); drop function fn_td_examematcoleta() cascade; create function fn_td_examematcoleta() returns opaque as ' declare numrows integer; begin select count(*) into numrows from examematcoletahospital where examematcoletahospital.fil_codigo = old.fil_codigo and examematcoletahospital.exa_codigo = old.exa_codigo and examematcoletahospital.mco_codigo = old.mco_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examematcoletahospital.''; end if; select count(*) into numrows from interfaceexamereagente where interfaceexamereagente.fil_codigo = old.fil_codigo and interfaceexamereagente.exa_codigo = old.exa_codigo and interfaceexamereagente.mco_codigo = old.mco_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela interfaceexamereagente.''; end if; select count(*) into numrows from conveniosintegracaooperadora where conveniosintegracaooperadora.fil_codigo = old.fil_codigo and conveniosintegracaooperadora.exa_kodigo = old.exa_codigo and conveniosintegracaooperadora.mco_kodigo = old.mco_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela conveniosintegracaooperadora.''; end if; select count(*) into numrows from conveniosintegracaooperadora where conveniosintegracaooperadora.fil_codigo = old.fil_codigo and conveniosintegracaooperadora.exa_codigo = old.exa_codigo and conveniosintegracaooperadora.mco_codigo = old.mco_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela conveniosintegracaooperadora.''; end if; delete from exportaintegracaooperadora where exportaintegracaooperadora.fil_codigo = old.fil_codigo and exportaintegracaooperadora.exa_codigo = old.exa_codigo and exportaintegracaooperadora.mco_codigo = old.mco_codigo; select count(*) into numrows from examecorrelacaoconferencia where examecorrelacaoconferencia.fil_codigo = old.fil_codigo and examecorrelacaoconferencia.exa_kodigo = old.exa_codigo and examecorrelacaoconferencia.mco_kodigo = old.mco_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examecorrelacaoconferencia.''; end if; delete from examecorrelacaoconferencia where examecorrelacaoconferencia.fil_codigo = old.fil_codigo and examecorrelacaoconferencia.exa_codigo = old.exa_codigo and examecorrelacaoconferencia.mco_codigo = old.mco_codigo; select count(*) into numrows from loteexternoexamerequisicaodesm where loteexternoexamerequisicaodesm.fil_codigo = old.fil_codigo and loteexternoexamerequisicaodesm.exa_kodigo = old.exa_codigo and loteexternoexamerequisicaodesm.mco_kodigo = old.mco_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela loteexternoexamerequisicaodesm.''; end if; select count(*) into numrows from conveniocotaexame where conveniocotaexame.fil_codigo = old.fil_codigo and conveniocotaexame.exa_codigo = old.exa_codigo and conveniocotaexame.mco_codigo = old.mco_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 examerequisicao where examerequisicao.fil_codigo = old.fil_codigo and examerequisicao.exa_codigopai = old.exa_codigo and examerequisicao.mco_codigopai = old.mco_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicao.''; end if; select count(*) into numrows from examematcoletataxa where examematcoletataxa.fil_codigo = old.fil_codigo and examematcoletataxa.exa_codigo = old.exa_codigo and examematcoletataxa.mco_codigo = old.mco_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examematcoletataxa.''; end if; delete from detalhetabelaprecometodologia where detalhetabelaprecometodologia.fil_codigo = old.fil_codigo and detalhetabelaprecometodologia.exa_codigo = old.exa_codigo and detalhetabelaprecometodologia.mco_codigo = old.mco_codigo; select count(*) into numrows from examerequisicaoweb where examerequisicaoweb.fil_codigo = old.fil_codigo and examerequisicaoweb.exa_codigo = old.exa_codigo and examerequisicaoweb.mco_codigo = old.mco_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicaoweb.''; end if; select count(*) into numrows from examematcoletalabexterno where examematcoletalabexterno.fil_codigo = old.fil_codigo and examematcoletalabexterno.exa_codigo = old.exa_codigo and examematcoletalabexterno.mco_codigo = old.mco_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examematcoletalabexterno.''; end if; select count(*) into numrows from contrassenharequisicaoexame where contrassenharequisicaoexame.fil_codigo = old.fil_codigo and contrassenharequisicaoexame.exa_codigo = old.exa_codigo and contrassenharequisicaoexame.mco_codigo = old.mco_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela contrassenharequisicaoexame.''; end if; select count(*) into numrows from examerequisicaoguiaagrupada where examerequisicaoguiaagrupada.fil_codigo = old.fil_codigo and examerequisicaoguiaagrupada.exa_codfilho = old.exa_codigo and examerequisicaoguiaagrupada.mco_codfilho = old.mco_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicaoguiaagrupada.''; end if; select count(*) into numrows from conveniospreco where conveniospreco.fil_codigo = old.fil_codigo and conveniospreco.exa_codigo = old.exa_codigo and conveniospreco.mco_codigo = old.mco_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela conveniospreco.''; end if; select count(*) into numrows from orcamentoconvenioexame where orcamentoconvenioexame.fil_codigo = old.fil_codigo and orcamentoconvenioexame.exa_codigo = old.exa_codigo and orcamentoconvenioexame.mco_codigo = old.mco_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela orcamentoconvenioexame.''; end if; delete from examematcoletaitemplanilha where examematcoletaitemplanilha.fil_codigo = old.fil_codigo and examematcoletaitemplanilha.exa_codigo = old.exa_codigo and examematcoletaitemplanilha.mco_codigo = old.mco_codigo; delete from examematgrupo where examematgrupo.fil_codigo = old.fil_codigo and examematgrupo.exa_codigo = old.exa_codigo and examematgrupo.mco_codigo = old.mco_codigo; delete from examematconvenioprazo where examematconvenioprazo.fil_codigo = old.fil_codigo and examematconvenioprazo.exa_codigo = old.exa_codigo and examematconvenioprazo.mco_codigo = old.mco_codigo; select count(*) into numrows from faturaexamerequisicao where faturaexamerequisicao.fil_codigo = old.fil_codigo and faturaexamerequisicao.exa_codfilho = old.exa_codigo and faturaexamerequisicao.mco_codfilho = old.mco_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela faturaexamerequisicao.''; end if; select count(*) into numrows from exameagrupasituacao where exameagrupasituacao.fil_codigo = old.fil_codigo and exameagrupasituacao.exa_codigo = old.exa_codigo and exameagrupasituacao.mco_codigo = old.mco_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela exameagrupasituacao.''; end if; select count(*) into numrows from exameagrupaexameconvenio where exameagrupaexameconvenio.fil_codigo = old.fil_codigo and exameagrupaexameconvenio.exa_kodigo = old.exa_codigo and exameagrupaexameconvenio.mco_kodigo = old.mco_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela exameagrupaexameconvenio.''; end if; delete from agrupaexameconvenio where agrupaexameconvenio.fil_codigo = old.fil_codigo and agrupaexameconvenio.exa_codigo = old.exa_codigo and agrupaexameconvenio.mco_codigo = old.mco_codigo; select count(*) into numrows from interfaceexamerequisicaodesm where interfaceexamerequisicaodesm.fil_codigo = old.fil_codigo and interfaceexamerequisicaodesm.exa_kodigo = old.exa_codigo and interfaceexamerequisicaodesm.mco_kodigo = old.mco_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela interfaceexamerequisicaodesm.''; end if; select count(*) into numrows from interfaceexmreqsimplesdesm where interfaceexmreqsimplesdesm.fil_codigo = old.fil_codigo and interfaceexmreqsimplesdesm.exa_kodigo = old.exa_codigo and interfaceexmreqsimplesdesm.mco_kodigo = old.mco_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela interfaceexmreqsimplesdesm.''; end if; delete from examescontrole where examescontrole.fil_codigo = old.fil_codigo and examescontrole.exa_codigo = old.exa_codigo and examescontrole.mco_codigo = old.mco_codigo; select count(*) into numrows from examematintdesmembrar where examematintdesmembrar.fil_codigo = old.fil_codigo and examematintdesmembrar.exa_kodigo = old.exa_codigo and examematintdesmembrar.mco_kodigo = old.mco_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examematintdesmembrar.''; end if; delete from examematinterface where examematinterface.fil_codigo = old.fil_codigo and examematinterface.exa_codigo = old.exa_codigo and examematinterface.mco_codigo = old.mco_codigo; delete from examesprincipios where examesprincipios.fil_codigo = old.fil_codigo and examesprincipios.exa_codigo = old.exa_codigo and examesprincipios.mco_codigo = old.mco_codigo; select count(*) into numrows from examerequisicao where examerequisicao.fil_codigo = old.fil_codigo and examerequisicao.exa_codigo = old.exa_codigo and examerequisicao.mco_codigo = old.mco_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicao.''; end if; delete from examesmatconvenio where examesmatconvenio.fil_codigo = old.fil_codigo and examesmatconvenio.exa_codigo = old.exa_codigo and examesmatconvenio.mco_codigo = old.mco_codigo; delete from detalhetabelapreco where detalhetabelapreco.fil_codigo = old.fil_codigo and detalhetabelapreco.exa_codigo = old.exa_codigo and detalhetabelapreco.mco_codigo = old.mco_codigo; delete from materialexame where materialexame.fil_codigo = old.fil_codigo and materialexame.exa_codigo = old.exa_codigo and materialexame.mco_codigo = old.mco_codigo; delete from reciptriagem where reciptriagem.fil_codigo = old.fil_codigo and reciptriagem.exa_codigo = old.exa_codigo and reciptriagem.mco_codigo = old.mco_codigo; delete from examelayout where examelayout.fil_codigo = old.fil_codigo and examelayout.exa_codigo = old.exa_codigo and examelayout.mco_codigo = old.mco_codigo; delete from recipcoleta where recipcoleta.fil_codigo = old.fil_codigo and recipcoleta.exa_codigo = old.exa_codigo and recipcoleta.mco_codigo = old.mco_codigo; return old; end;' language 'plpgsql'; create trigger td_examematcoleta after delete on examematcoleta for each row execute procedure fn_td_examematcoleta(); drop function fn_ti_examematcoleta() cascade; create function fn_ti_examematcoleta() returns opaque as ' declare numrows integer; tmp varchar; begin 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 prazoentrega where new.fil_codigo = prazoentrega.fil_codigo and new.prz_codigo = prazoentrega.prz_codigo; tmp:=''prazoentrega|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''prz_codigo='' || new.prz_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.prz_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela prazoentrega. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from 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 ( 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 exames where new.fil_codigo = exames.fil_codigo and new.exa_codigo = exames.exa_codigo; tmp:=''exames|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''exa_codigo='' || new.exa_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 exames. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; return new; end;' language 'plpgsql'; create trigger ti_examematcoleta after insert on examematcoleta for each row execute procedure fn_ti_examematcoleta(); drop function fn_tu_examematcoleta() cascade; create function fn_tu_examematcoleta() returns opaque as ' declare numrows integer; tmp varchar; begin if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo) then select count(*) from examematcoletahospital where examematcoletahospital.fil_codigo = old.fil_codigo and examematcoletahospital.exa_codigo = old.exa_codigo and examematcoletahospital.mco_codigo = old.mco_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examematcoletahospital.''; 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) then select count(*) from interfaceexamereagente where interfaceexamereagente.fil_codigo = old.fil_codigo and interfaceexamereagente.exa_codigo = old.exa_codigo and interfaceexamereagente.mco_codigo = old.mco_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela interfaceexamereagente.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo) then select count(*) from conveniosintegracaooperadora where conveniosintegracaooperadora.fil_codigo = old.fil_codigo and conveniosintegracaooperadora.exa_kodigo = old.exa_codigo and conveniosintegracaooperadora.mco_kodigo = old.mco_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.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo) then select count(*) from conveniosintegracaooperadora where conveniosintegracaooperadora.fil_codigo = old.fil_codigo and conveniosintegracaooperadora.exa_codigo = old.exa_codigo and conveniosintegracaooperadora.mco_codigo = old.mco_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.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo) then select count(*) from exportaintegracaooperadora where exportaintegracaooperadora.fil_codigo = old.fil_codigo and exportaintegracaooperadora.exa_codigo = old.exa_codigo and exportaintegracaooperadora.mco_codigo = old.mco_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.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo) then select count(*) from examecorrelacaoconferencia where examecorrelacaoconferencia.fil_codigo = old.fil_codigo and examecorrelacaoconferencia.exa_kodigo = old.exa_codigo and examecorrelacaoconferencia.mco_kodigo = old.mco_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examecorrelacaoconferencia.''; 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) then select count(*) from examecorrelacaoconferencia where examecorrelacaoconferencia.fil_codigo = old.fil_codigo and examecorrelacaoconferencia.exa_codigo = old.exa_codigo and examecorrelacaoconferencia.mco_codigo = old.mco_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examecorrelacaoconferencia.''; 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) then select count(*) from loteexternoexamerequisicaodesm where loteexternoexamerequisicaodesm.fil_codigo = old.fil_codigo and loteexternoexamerequisicaodesm.exa_kodigo = old.exa_codigo and loteexternoexamerequisicaodesm.mco_kodigo = old.mco_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela loteexternoexamerequisicaodesm.''; 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) then select count(*) from conveniocotaexame where conveniocotaexame.fil_codigo = old.fil_codigo and conveniocotaexame.exa_codigo = old.exa_codigo and conveniocotaexame.mco_codigo = old.mco_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.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo) then select count(*) from examerequisicao where examerequisicao.fil_codigo = old.fil_codigo and examerequisicao.exa_codigopai = old.exa_codigo and examerequisicao.mco_codigopai = old.mco_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicao.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo) then select count(*) from examematcoletataxa where examematcoletataxa.fil_codigo = old.fil_codigo and examematcoletataxa.exa_codigo = old.exa_codigo and examematcoletataxa.mco_codigo = old.mco_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examematcoletataxa.''; 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) then select count(*) from detalhetabelaprecometodologia where detalhetabelaprecometodologia.fil_codigo = old.fil_codigo and detalhetabelaprecometodologia.exa_codigo = old.exa_codigo and detalhetabelaprecometodologia.mco_codigo = old.mco_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela detalhetabelaprecometodologia.''; 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) then select count(*) from examerequisicaoweb where examerequisicaoweb.fil_codigo = old.fil_codigo and examerequisicaoweb.exa_codigo = old.exa_codigo and examerequisicaoweb.mco_codigo = old.mco_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicaoweb.''; 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) then select count(*) from examematcoletalabexterno where examematcoletalabexterno.fil_codigo = old.fil_codigo and examematcoletalabexterno.exa_codigo = old.exa_codigo and examematcoletalabexterno.mco_codigo = old.mco_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examematcoletalabexterno.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo) then select count(*) from contrassenharequisicaoexame where contrassenharequisicaoexame.fil_codigo = old.fil_codigo and contrassenharequisicaoexame.exa_codigo = old.exa_codigo and contrassenharequisicaoexame.mco_codigo = old.mco_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela contrassenharequisicaoexame.''; 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) then select count(*) from examerequisicaoguiaagrupada where examerequisicaoguiaagrupada.fil_codigo = old.fil_codigo and examerequisicaoguiaagrupada.exa_codfilho = old.exa_codigo and examerequisicaoguiaagrupada.mco_codfilho = old.mco_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) then select count(*) from conveniospreco where conveniospreco.fil_codigo = old.fil_codigo and conveniospreco.exa_codigo = old.exa_codigo and conveniospreco.mco_codigo = old.mco_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.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo) then select count(*) from orcamentoconvenioexame where orcamentoconvenioexame.fil_codigo = old.fil_codigo and orcamentoconvenioexame.exa_codigo = old.exa_codigo and orcamentoconvenioexame.mco_codigo = old.mco_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela orcamentoconvenioexame.''; 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) then select count(*) from examematcoletaitemplanilha where examematcoletaitemplanilha.fil_codigo = old.fil_codigo and examematcoletaitemplanilha.exa_codigo = old.exa_codigo and examematcoletaitemplanilha.mco_codigo = old.mco_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examematcoletaitemplanilha.''; 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) then select count(*) from examematgrupo where examematgrupo.fil_codigo = old.fil_codigo and examematgrupo.exa_codigo = old.exa_codigo and examematgrupo.mco_codigo = old.mco_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examematgrupo.''; 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) then select count(*) from examematconvenioprazo where examematconvenioprazo.fil_codigo = old.fil_codigo and examematconvenioprazo.exa_codigo = old.exa_codigo and examematconvenioprazo.mco_codigo = old.mco_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.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo) then select count(*) from faturaexamerequisicao where faturaexamerequisicao.fil_codigo = old.fil_codigo and faturaexamerequisicao.exa_codfilho = old.exa_codigo and faturaexamerequisicao.mco_codfilho = old.mco_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) then select count(*) from exameagrupasituacao where exameagrupasituacao.fil_codigo = old.fil_codigo and exameagrupasituacao.exa_codigo = old.exa_codigo and exameagrupasituacao.mco_codigo = old.mco_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela exameagrupasituacao.''; 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) then select count(*) from exameagrupaexameconvenio where exameagrupaexameconvenio.fil_codigo = old.fil_codigo and exameagrupaexameconvenio.exa_kodigo = old.exa_codigo and exameagrupaexameconvenio.mco_kodigo = old.mco_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela exameagrupaexameconvenio.''; 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) then select count(*) from agrupaexameconvenio where agrupaexameconvenio.fil_codigo = old.fil_codigo and agrupaexameconvenio.exa_codigo = old.exa_codigo and agrupaexameconvenio.mco_codigo = old.mco_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.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo) then select count(*) from interfaceexamerequisicaodesm where interfaceexamerequisicaodesm.fil_codigo = old.fil_codigo and interfaceexamerequisicaodesm.exa_kodigo = old.exa_codigo and interfaceexamerequisicaodesm.mco_kodigo = old.mco_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela interfaceexamerequisicaodesm.''; 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) then select count(*) from interfaceexmreqsimplesdesm where interfaceexmreqsimplesdesm.fil_codigo = old.fil_codigo and interfaceexmreqsimplesdesm.exa_kodigo = old.exa_codigo and interfaceexmreqsimplesdesm.mco_kodigo = old.mco_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela interfaceexmreqsimplesdesm.''; 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) then select count(*) from examescontrole where examescontrole.fil_codigo = old.fil_codigo and examescontrole.exa_codigo = old.exa_codigo and examescontrole.mco_codigo = old.mco_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examescontrole.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo) then select count(*) from examematintdesmembrar where examematintdesmembrar.fil_codigo = old.fil_codigo and examematintdesmembrar.exa_kodigo = old.exa_codigo and examematintdesmembrar.mco_kodigo = old.mco_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examematintdesmembrar.''; 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) then select count(*) from examematinterface where examematinterface.fil_codigo = old.fil_codigo and examematinterface.exa_codigo = old.exa_codigo and examematinterface.mco_codigo = old.mco_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examematinterface.''; 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) then select count(*) from examesprincipios where examesprincipios.fil_codigo = old.fil_codigo and examesprincipios.exa_codigo = old.exa_codigo and examesprincipios.mco_codigo = old.mco_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examesprincipios.''; 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) then select count(*) from examerequisicao where examerequisicao.fil_codigo = old.fil_codigo and examerequisicao.exa_codigo = old.exa_codigo and examerequisicao.mco_codigo = old.mco_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicao.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo) then select count(*) from examesmatconvenio where examesmatconvenio.fil_codigo = old.fil_codigo and examesmatconvenio.exa_codigo = old.exa_codigo and examesmatconvenio.mco_codigo = old.mco_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.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo) then select count(*) from detalhetabelapreco where detalhetabelapreco.fil_codigo = old.fil_codigo and detalhetabelapreco.exa_codigo = old.exa_codigo and detalhetabelapreco.mco_codigo = old.mco_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela detalhetabelapreco.''; 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) then select count(*) from materialexame where materialexame.fil_codigo = old.fil_codigo and materialexame.exa_codigo = old.exa_codigo and materialexame.mco_codigo = old.mco_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela materialexame.''; 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) then select count(*) from reciptriagem where reciptriagem.fil_codigo = old.fil_codigo and reciptriagem.exa_codigo = old.exa_codigo and reciptriagem.mco_codigo = old.mco_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela reciptriagem.''; 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) then select count(*) from examelayout where examelayout.fil_codigo = old.fil_codigo and examelayout.exa_codigo = old.exa_codigo and examelayout.mco_codigo = old.mco_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examelayout.''; 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) then select count(*) from recipcoleta where recipcoleta.fil_codigo = old.fil_codigo and recipcoleta.exa_codigo = old.exa_codigo and recipcoleta.mco_codigo = old.mco_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela recipcoleta.''; end if; 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 prazoentrega where new.fil_codigo = prazoentrega.fil_codigo and new.prz_codigo = prazoentrega.prz_codigo; tmp:=''prazoentrega|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''prz_codigo='' || new.prz_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.prz_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela prazoentrega. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from 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 ( 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 exames where new.fil_codigo = exames.fil_codigo and new.exa_codigo = exames.exa_codigo; tmp:=''exames|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''exa_codigo='' || new.exa_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 exames. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; return old; end;' language 'plpgsql'; create trigger tu_examematcoleta after update on examematcoleta for each row execute procedure fn_tu_examematcoleta(); drop function fn_td_examematcoletahospital() cascade; create function fn_td_examematcoletahospital() returns opaque as ' declare numrows integer; begin select count(*) into numrows from examematcoleta where old.fil_codigo = examematcoleta.fil_codigo and old.exa_codigo = examematcoleta.exa_codigo and old.mco_codigo = examematcoleta.mco_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examematcoletahospital.''; end if; return old; end;' language 'plpgsql'; create trigger td_examematcoletahospital after delete on examematcoletahospital for each row execute procedure fn_td_examematcoletahospital(); drop function fn_ti_examematcoletahospital() cascade; create function fn_ti_examematcoletahospital() returns opaque as ' declare numrows integer; tmp varchar; begin 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; return new; end;' language 'plpgsql'; create trigger ti_examematcoletahospital after insert on examematcoletahospital for each row execute procedure fn_ti_examematcoletahospital(); drop function fn_tu_examematcoletahospital() cascade; create function fn_tu_examematcoletahospital() returns opaque as ' declare numrows integer; tmp varchar; begin 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; return old; end;' language 'plpgsql'; create trigger tu_examematcoletahospital after update on examematcoletahospital for each row execute procedure fn_tu_examematcoletahospital(); insert into atualizacoes(atu_nome) values ('v22050002_230522sql'); alter table paciente add pac_passaporte varchar(20); insert into atualizacoes(atu_nome) values ('v22050003_270522sql');