create table conveniosintegracaooperadora ( fil_codigo integer not null, con_codigo integer not null, exa_codigo varchar(5) not null, exa_kodigo varchar(5) not null, mco_codigo integer not null, mco_kodigo integer not null ); create unique index xpkconveniosintegracaooperadora on conveniosintegracaooperadora ( fil_codigo, con_codigo, exa_codigo, exa_kodigo, mco_codigo, mco_kodigo ); create index xif1conveniosintegracaooperador on conveniosintegracaooperadora ( fil_codigo, con_codigo ); create index xif2conveniosintegracaooperador on conveniosintegracaooperadora ( fil_codigo, exa_codigo, mco_codigo ); create index xif3conveniosintegracaooperador on conveniosintegracaooperadora ( fil_codigo, exa_kodigo, mco_kodigo ); alter table conveniosintegracaooperadora add primary key (fil_codigo, con_codigo, exa_codigo, exa_kodigo, mco_codigo, mco_kodigo); drop function fn_td_convenios() cascade; create function fn_td_convenios() returns opaque as ' declare numrows integer; begin 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 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_conveniosintegracaooperadora() cascade; create function fn_ti_conveniosintegracaooperadora() 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_kodigo = examematcoleta.exa_codigo and new.mco_kodigo = examematcoleta.mco_codigo; tmp:=''examematcoleta|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''exa_codigo='' || new.exa_kodigo || ''|''; tmp:=tmp || ''mco_codigo='' || new.mco_kodigo || ''|''; 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 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 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_conveniosintegracaooperadora after insert on conveniosintegracaooperadora for each row execute procedure fn_ti_conveniosintegracaooperadora(); --drop function fn_tu_conveniosintegracaooperadora() cascade; create function fn_tu_conveniosintegracaooperadora() 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_kodigo = examematcoleta.exa_codigo and new.mco_kodigo = examematcoleta.mco_codigo; tmp:=''examematcoleta|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''exa_codigo='' || new.exa_kodigo || ''|''; tmp:=tmp || ''mco_codigo='' || new.mco_kodigo || ''|''; 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 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 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_conveniosintegracaooperadora after update on conveniosintegracaooperadora for each row execute procedure fn_tu_conveniosintegracaooperadora(); drop function fn_td_examematcoleta() cascade; create function fn_td_examematcoleta() returns opaque as ' declare numrows integer; begin 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 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(); insert into atualizacoes(atu_nome) values ('v170600001_260717.sql'); create sequence unimedvtrp_sequence; insert into atualizacoes(atu_nome) values ('v170600002_080917.sql');