alter table filiais_postocoleta add fil_padraoindicadores boolean default false; insert into atualizacoes(atu_nome) values ('v20070001_260820.sql'); alter table lanctocaixa add lcx_tipotransferencia varchar(10); insert into atualizacoes(atu_nome) values ('v20070002_270820.sql'); alter table examerequisicao add exr_transacaoidunimed varchar(12), add exr_idunimed varchar(12); insert into atualizacoes(atu_nome) values ('v20070003_270820.sql'); alter table examelayoutmetodornds add rnd_nota text, add rnd_metodo varchar(1000), add rnd_referencia text, add rnd_nomegal varchar(1000), add rnd_tipogal varchar(15); create table tipogalrnds ( tga_codigo varchar(15) not null, tga_descricao varchar(200) ); create unique index xpktipogalrnds on tipogalrnds ( tga_codigo ); alter table tipogalrnds add primary key (tga_codigo); create table urlrnds ( url_estado varchar(2) not null, url_url varchar(1000) ); create unique index xpkurlrnds on urlrnds ( url_estado ); alter table urlrnds add primary key (url_estado); INSERT INTO urlrnds(url_estado, url_url) values('AC', 'https://ac-ehr-services.saude.gov.br'); INSERT INTO urlrnds(url_estado, url_url) values('AL', 'https://al-ehr-services.saude.gov.br'); INSERT INTO urlrnds(url_estado, url_url) values('AP', 'https://ap-ehr-services.saude.gov.br'); INSERT INTO urlrnds(url_estado, url_url) values('AM', 'https://am-ehr-services.saude.gov.br'); INSERT INTO urlrnds(url_estado, url_url) values('BA', 'https://ba-ehr-services.saude.gov.br'); INSERT INTO urlrnds(url_estado, url_url) values('CE', 'https://ce-ehr-services.saude.gov.br'); INSERT INTO urlrnds(url_estado, url_url) values('DF', 'https://df-ehr-services.saude.gov.br'); INSERT INTO urlrnds(url_estado, url_url) values('ES', 'https://es-ehr-services.saude.gov.br'); INSERT INTO urlrnds(url_estado, url_url) values('GO', 'https://go-ehr-services.saude.gov.br'); INSERT INTO urlrnds(url_estado, url_url) values('MA', 'https://ma-ehr-services.saude.gov.br'); INSERT INTO urlrnds(url_estado, url_url) values('MT', 'https://mt-ehr-services.saude.gov.br'); INSERT INTO urlrnds(url_estado, url_url) values('MS', 'https://ms-ehr-services.saude.gov.br'); INSERT INTO urlrnds(url_estado, url_url) values('MG', 'https://mg-ehr-services.saude.gov.br'); INSERT INTO urlrnds(url_estado, url_url) values('PA', 'https://pa-ehr-services.saude.gov.br'); INSERT INTO urlrnds(url_estado, url_url) values('PB', 'https://pb-ehr-services.saude.gov.br'); INSERT INTO urlrnds(url_estado, url_url) values('PR', 'https://pr-ehr-services.saude.gov.br'); INSERT INTO urlrnds(url_estado, url_url) values('PE', 'https://pe-ehr-services.saude.gov.br'); INSERT INTO urlrnds(url_estado, url_url) values('PI', 'https://pi-ehr-services.saude.gov.br'); INSERT INTO urlrnds(url_estado, url_url) values('RJ', 'https://rj-ehr-services.saude.gov.br'); INSERT INTO urlrnds(url_estado, url_url) values('RN', 'https://rn-ehr-services.saude.gov.br'); INSERT INTO urlrnds(url_estado, url_url) values('RS', 'https://rs-ehr-services.saude.gov.br'); INSERT INTO urlrnds(url_estado, url_url) values('RO', 'https://ro-ehr-services.saude.gov.br'); INSERT INTO urlrnds(url_estado, url_url) values('RR', 'https://rr-ehr-services.saude.gov.br'); INSERT INTO urlrnds(url_estado, url_url) values('SC', 'https://sc-ehr-services.saude.gov.br'); INSERT INTO urlrnds(url_estado, url_url) values('SP', 'https://sp-ehr-services.saude.gov.br'); INSERT INTO urlrnds(url_estado, url_url) values('SE', 'https://se-ehr-services.saude.gov.br'); INSERT INTO urlrnds(url_estado, url_url) values('TO', 'https://to-ehr-services.saude.gov.br'); select configurageralog('urlrnds'); select configurageralog('tipogalrnds'); insert into atualizacoes(atu_nome) values ('v20070004_090920.sql'); alter table material add mat_calcrateiofreteultcompra numeric(15,6), add nfi_codigoultcompra integer, add ped_codigoultcompra integer, add cen_codigoultcompra integer; create index xif226material on material ( fil_codigo, nfi_codigoultcompra ); create index xif227material on material ( fil_codigo, ped_codigoultcompra ); create index xif228material on material ( fil_codigo, cen_codigoultcompra ); drop function fn_td_conferenciaentrada() cascade; create function fn_td_conferenciaentrada() returns opaque as ' declare numrows integer; begin select count(*) into numrows from material where material.fil_codigo = old.fil_codigo and material.cen_codigoultcompra = old.cen_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela material.''; end if; select count(*) into numrows from conferenciaentradalanctoestoque where conferenciaentradalanctoestoque.fil_codigo = old.fil_codigo and conferenciaentradalanctoestoque.cen_codigo = old.cen_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela conferenciaentradalanctoestoque.''; end if; delete from conferenciaentradamaterial where conferenciaentradamaterial.fil_codigo = old.fil_codigo and conferenciaentradamaterial.cen_codigo = old.cen_codigo; return old; end;' language 'plpgsql'; create trigger td_conferenciaentrada after delete on conferenciaentrada for each row execute procedure fn_td_conferenciaentrada(); drop function fn_ti_conferenciaentrada() cascade; create function fn_ti_conferenciaentrada() returns opaque as ' declare numrows integer; tmp varchar; begin select count(*) into numrows from pedido where new.fil_codigo = pedido.fil_codigo and new.ped_codigo = pedido.ped_codigo; tmp:=''pedido|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''ped_codigo='' || new.ped_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.ped_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela pedido. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from notafiscal where new.fil_codigo = notafiscal.fil_codigo and new.nfi_codigo = notafiscal.nfi_codigo; tmp:=''notafiscal|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''nfi_codigo='' || new.nfi_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.nfi_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela notafiscal. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_codcancelamento = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codcancelamento || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codcancelamento is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_codigo = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from filiais_postocoleta where new.fil_codigo = filiais_postocoleta.fil_codigo; tmp:=''filiais_postocoleta|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela filiais_postocoleta. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; return new; end;' language 'plpgsql'; create trigger ti_conferenciaentrada after insert on conferenciaentrada for each row execute procedure fn_ti_conferenciaentrada(); drop function fn_tu_conferenciaentrada() cascade; create function fn_tu_conferenciaentrada() returns opaque as ' declare numrows integer; tmp varchar; begin if (old.fil_codigo <> new.fil_codigo or old.cen_codigo <> new.cen_codigo) then select count(*) from material where material.fil_codigo = old.fil_codigo and material.cen_codigoultcompra = old.cen_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela material.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.cen_codigo <> new.cen_codigo) then select count(*) from conferenciaentradalanctoestoque where conferenciaentradalanctoestoque.fil_codigo = old.fil_codigo and conferenciaentradalanctoestoque.cen_codigo = old.cen_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela conferenciaentradalanctoestoque.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.cen_codigo <> new.cen_codigo) then select count(*) from conferenciaentradamaterial where conferenciaentradamaterial.fil_codigo = old.fil_codigo and conferenciaentradamaterial.cen_codigo = old.cen_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela conferenciaentradamaterial.''; end if; end if; select count(*) into numrows from pedido where new.fil_codigo = pedido.fil_codigo and new.ped_codigo = pedido.ped_codigo; tmp:=''pedido|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''ped_codigo='' || new.ped_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.ped_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela pedido. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from notafiscal where new.fil_codigo = notafiscal.fil_codigo and new.nfi_codigo = notafiscal.nfi_codigo; tmp:=''notafiscal|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''nfi_codigo='' || new.nfi_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.nfi_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela notafiscal. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_codcancelamento = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codcancelamento || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codcancelamento is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_codigo = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from filiais_postocoleta where new.fil_codigo = filiais_postocoleta.fil_codigo; tmp:=''filiais_postocoleta|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela filiais_postocoleta. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; return old; end;' language 'plpgsql'; create trigger tu_conferenciaentrada after update on conferenciaentrada for each row execute procedure fn_tu_conferenciaentrada(); drop function fn_td_material() cascade; create function fn_td_material() returns opaque as ' declare numrows integer; begin select count(*) into numrows from interfaceexamereagente where interfaceexamereagente.fil_codigo = old.fil_codigo and interfaceexamereagente.mat_codigo = old.mat_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela interfaceexamereagente.''; end if; delete from materialusuario where materialusuario.fil_codigo = old.fil_codigo and materialusuario.mat_codigo = old.mat_codigo; select count(*) into numrows from materialalternativo where materialalternativo.fil_codigo = old.fil_codigo and materialalternativo.mat_codigo = old.mat_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela materialalternativo.''; end if; select count(*) into numrows from materiallote where materiallote.fil_codigo = old.fil_codigo and materiallote.mat_codigo = old.mat_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela materiallote.''; end if; select count(*) into numrows from materialenviadomaterial where materialenviadomaterial.fil_codigo = old.fil_codigo and materialenviadomaterial.mat_codigo = old.mat_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela materialenviadomaterial.''; end if; select count(*) into numrows from materialidentificado where materialidentificado.fil_codigo = old.fil_codigo and materialidentificado.mat_codigo = old.mat_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela materialidentificado.''; end if; select count(*) into numrows from montagemkitconsumido where montagemkitconsumido.fil_codigo = old.fil_codigo and montagemkitconsumido.mat_codconsumido = old.mat_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela montagemkitconsumido.''; end if; select count(*) into numrows from montagemkitmaterial where montagemkitmaterial.fil_codigo = old.fil_codigo and montagemkitmaterial.mat_codigo = old.mat_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela montagemkitmaterial.''; end if; select count(*) into numrows from transfestoquematerial where transfestoquematerial.fil_codigo = old.fil_codigo and transfestoquematerial.mat_codigo = old.mat_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela transfestoquematerial.''; end if; select count(*) into numrows from estoquemanualmaterial where estoquemanualmaterial.fil_codigo = old.fil_codigo and estoquemanualmaterial.mat_codigo = old.mat_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela estoquemanualmaterial.''; end if; select count(*) into numrows from requisicaoestoquematerial where requisicaoestoquematerial.fil_codigo = old.fil_codigo and requisicaoestoquematerial.mat_codigo = old.mat_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela requisicaoestoquematerial.''; end if; select count(*) into numrows from lanctoestoque where lanctoestoque.fil_codigo = old.fil_codigo and lanctoestoque.mat_codigo = old.mat_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela lanctoestoque.''; end if; select count(*) into numrows from conferenciaestoquematerial where conferenciaestoquematerial.fil_codigo = old.fil_codigo and conferenciaestoquematerial.mat_codigo = old.mat_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela conferenciaestoquematerial.''; end if; select count(*) into numrows from conferenciaentradamaterial where conferenciaentradamaterial.fil_codigo = old.fil_codigo and conferenciaentradamaterial.mat_codigo = old.mat_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela conferenciaentradamaterial.''; end if; select count(*) into numrows from notafiscalmaterial where notafiscalmaterial.fil_codigo = old.fil_codigo and notafiscalmaterial.mat_codigo = old.mat_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela notafiscalmaterial.''; end if; select count(*) into numrows from pedidomaterial where pedidomaterial.fil_codigo = old.fil_codigo and pedidomaterial.mat_codigo = old.mat_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela pedidomaterial.''; end if; select count(*) into numrows from fichatecnicamaterial where fichatecnicamaterial.fil_codigo = old.fil_codigo and fichatecnicamaterial.mat_codigofilho = old.mat_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela fichatecnicamaterial.''; end if; select count(*) into numrows from fichatecnicamaterial where fichatecnicamaterial.fil_codigo = old.fil_codigo and fichatecnicamaterial.mat_codigo = old.mat_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela fichatecnicamaterial.''; end if; select count(*) into numrows from cotacaomaterial where cotacaomaterial.fil_codigo = old.fil_codigo and cotacaomaterial.mat_codigo = old.mat_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela cotacaomaterial.''; end if; select count(*) into numrows from saldoestoquecelula where saldoestoquecelula.fil_codigo = old.fil_codigo and saldoestoquecelula.mat_codigo = old.mat_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela saldoestoquecelula.''; end if; select count(*) into numrows from saldoestoque where saldoestoque.fil_codigo = old.fil_codigo and saldoestoque.mat_codigo = old.mat_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela saldoestoque.''; end if; select count(*) into numrows from materialpatrimonio where materialpatrimonio.fil_codigo = old.fil_codigo and materialpatrimonio.mat_codigo = old.mat_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela materialpatrimonio.''; end if; select count(*) into numrows from recipmaterial where recipmaterial.fil_codigo = old.fil_codigo and recipmaterial.mat_codigo = old.mat_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela recipmaterial.''; end if; select count(*) into numrows from materialexamerequis where materialexamerequis.fil_codigo = old.fil_codigo and materialexamerequis.mat_codigo = old.mat_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela materialexamerequis.''; end if; select count(*) into numrows from materialexame where materialexame.fil_codigo = old.fil_codigo and materialexame.mat_codigo = old.mat_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela materialexame.''; end if; return old; end;' language 'plpgsql'; create trigger td_material after delete on material for each row execute procedure fn_td_material(); drop function fn_ti_material() cascade; create function fn_ti_material() returns opaque as ' declare numrows integer; tmp varchar; begin select count(*) into numrows from conferenciaentrada where new.fil_codigo = conferenciaentrada.fil_codigo and new.cen_codigoultcompra = conferenciaentrada.cen_codigo; tmp:=''conferenciaentrada|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''cen_codigo='' || new.cen_codigoultcompra || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.cen_codigoultcompra is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela conferenciaentrada. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from pedido where new.fil_codigo = pedido.fil_codigo and new.ped_codigoultcompra = pedido.ped_codigo; tmp:=''pedido|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''ped_codigo='' || new.ped_codigoultcompra || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.ped_codigoultcompra is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela pedido. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from notafiscal where new.fil_codigo = notafiscal.fil_codigo and new.nfi_codigoultcompra = notafiscal.nfi_codigo; tmp:=''notafiscal|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''nfi_codigo='' || new.nfi_codigoultcompra || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.nfi_codigoultcompra is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela notafiscal. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_codavisolote = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codavisolote || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codavisolote is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_codigo = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from 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 unidademedida where new.fil_codigo = unidademedida.fil_codigo and new.unm_codigo = unidademedida.unm_codigo; tmp:=''unidademedida|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''unm_codigo='' || new.unm_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.unm_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela unidademedida. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from tipomaterial where new.fil_codigo = tipomaterial.fil_codigo and new.tpm_codigo = tipomaterial.tpm_codigo; tmp:=''tipomaterial|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''tpm_codigo='' || new.tpm_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.tpm_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela tipomaterial. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; return new; end;' language 'plpgsql'; create trigger ti_material after insert on material for each row execute procedure fn_ti_material(); drop function fn_tu_material() cascade; create function fn_tu_material() returns opaque as ' declare numrows integer; tmp varchar; begin if (old.fil_codigo <> new.fil_codigo or old.mat_codigo <> new.mat_codigo) then select count(*) from interfaceexamereagente where interfaceexamereagente.fil_codigo = old.fil_codigo and interfaceexamereagente.mat_codigo = old.mat_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.mat_codigo <> new.mat_codigo) then select count(*) from materialusuario where materialusuario.fil_codigo = old.fil_codigo and materialusuario.mat_codigo = old.mat_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela materialusuario.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.mat_codigo <> new.mat_codigo) then select count(*) from materialalternativo where materialalternativo.fil_codigo = old.fil_codigo and materialalternativo.mat_codigo = old.mat_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela materialalternativo.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.mat_codigo <> new.mat_codigo) then select count(*) from materiallote where materiallote.fil_codigo = old.fil_codigo and materiallote.mat_codigo = old.mat_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela materiallote.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.mat_codigo <> new.mat_codigo) then select count(*) from materialenviadomaterial where materialenviadomaterial.fil_codigo = old.fil_codigo and materialenviadomaterial.mat_codigo = old.mat_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela materialenviadomaterial.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.mat_codigo <> new.mat_codigo) then select count(*) from materialidentificado where materialidentificado.fil_codigo = old.fil_codigo and materialidentificado.mat_codigo = old.mat_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela materialidentificado.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.mat_codigo <> new.mat_codigo) then select count(*) from montagemkitconsumido where montagemkitconsumido.fil_codigo = old.fil_codigo and montagemkitconsumido.mat_codconsumido = old.mat_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela montagemkitconsumido.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.mat_codigo <> new.mat_codigo) then select count(*) from montagemkitmaterial where montagemkitmaterial.fil_codigo = old.fil_codigo and montagemkitmaterial.mat_codigo = old.mat_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela montagemkitmaterial.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.mat_codigo <> new.mat_codigo) then select count(*) from transfestoquematerial where transfestoquematerial.fil_codigo = old.fil_codigo and transfestoquematerial.mat_codigo = old.mat_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela transfestoquematerial.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.mat_codigo <> new.mat_codigo) then select count(*) from estoquemanualmaterial where estoquemanualmaterial.fil_codigo = old.fil_codigo and estoquemanualmaterial.mat_codigo = old.mat_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela estoquemanualmaterial.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.mat_codigo <> new.mat_codigo) then select count(*) from requisicaoestoquematerial where requisicaoestoquematerial.fil_codigo = old.fil_codigo and requisicaoestoquematerial.mat_codigo = old.mat_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela requisicaoestoquematerial.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.mat_codigo <> new.mat_codigo) then select count(*) from lanctoestoque where lanctoestoque.fil_codigo = old.fil_codigo and lanctoestoque.mat_codigo = old.mat_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela lanctoestoque.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.mat_codigo <> new.mat_codigo) then select count(*) from conferenciaestoquematerial where conferenciaestoquematerial.fil_codigo = old.fil_codigo and conferenciaestoquematerial.mat_codigo = old.mat_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela conferenciaestoquematerial.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.mat_codigo <> new.mat_codigo) then select count(*) from conferenciaentradamaterial where conferenciaentradamaterial.fil_codigo = old.fil_codigo and conferenciaentradamaterial.mat_codigo = old.mat_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela conferenciaentradamaterial.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.mat_codigo <> new.mat_codigo) then select count(*) from notafiscalmaterial where notafiscalmaterial.fil_codigo = old.fil_codigo and notafiscalmaterial.mat_codigo = old.mat_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela notafiscalmaterial.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.mat_codigo <> new.mat_codigo) then select count(*) from pedidomaterial where pedidomaterial.fil_codigo = old.fil_codigo and pedidomaterial.mat_codigo = old.mat_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela pedidomaterial.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.mat_codigo <> new.mat_codigo) then select count(*) from fichatecnicamaterial where fichatecnicamaterial.fil_codigo = old.fil_codigo and fichatecnicamaterial.mat_codigofilho = old.mat_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela fichatecnicamaterial.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.mat_codigo <> new.mat_codigo) then select count(*) from fichatecnicamaterial where fichatecnicamaterial.fil_codigo = old.fil_codigo and fichatecnicamaterial.mat_codigo = old.mat_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela fichatecnicamaterial.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.mat_codigo <> new.mat_codigo) then select count(*) from cotacaomaterial where cotacaomaterial.fil_codigo = old.fil_codigo and cotacaomaterial.mat_codigo = old.mat_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela cotacaomaterial.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.mat_codigo <> new.mat_codigo) then select count(*) from saldoestoquecelula where saldoestoquecelula.fil_codigo = old.fil_codigo and saldoestoquecelula.mat_codigo = old.mat_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela saldoestoquecelula.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.mat_codigo <> new.mat_codigo) then select count(*) from saldoestoque where saldoestoque.fil_codigo = old.fil_codigo and saldoestoque.mat_codigo = old.mat_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela saldoestoque.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.mat_codigo <> new.mat_codigo) then select count(*) from materialpatrimonio where materialpatrimonio.fil_codigo = old.fil_codigo and materialpatrimonio.mat_codigo = old.mat_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela materialpatrimonio.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.mat_codigo <> new.mat_codigo) then select count(*) from recipmaterial where recipmaterial.fil_codigo = old.fil_codigo and recipmaterial.mat_codigo = old.mat_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela recipmaterial.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.mat_codigo <> new.mat_codigo) then select count(*) from materialexamerequis where materialexamerequis.fil_codigo = old.fil_codigo and materialexamerequis.mat_codigo = old.mat_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela materialexamerequis.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.mat_codigo <> new.mat_codigo) then select count(*) from materialexame where materialexame.fil_codigo = old.fil_codigo and materialexame.mat_codigo = old.mat_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; select count(*) into numrows from conferenciaentrada where new.fil_codigo = conferenciaentrada.fil_codigo and new.cen_codigoultcompra = conferenciaentrada.cen_codigo; tmp:=''conferenciaentrada|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''cen_codigo='' || new.cen_codigoultcompra || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.cen_codigoultcompra is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela conferenciaentrada. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from pedido where new.fil_codigo = pedido.fil_codigo and new.ped_codigoultcompra = pedido.ped_codigo; tmp:=''pedido|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''ped_codigo='' || new.ped_codigoultcompra || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.ped_codigoultcompra is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela pedido. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from notafiscal where new.fil_codigo = notafiscal.fil_codigo and new.nfi_codigoultcompra = notafiscal.nfi_codigo; tmp:=''notafiscal|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''nfi_codigo='' || new.nfi_codigoultcompra || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.nfi_codigoultcompra is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela notafiscal. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_codavisolote = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codavisolote || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codavisolote is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_codigo = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from 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 unidademedida where new.fil_codigo = unidademedida.fil_codigo and new.unm_codigo = unidademedida.unm_codigo; tmp:=''unidademedida|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''unm_codigo='' || new.unm_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.unm_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela unidademedida. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from tipomaterial where new.fil_codigo = tipomaterial.fil_codigo and new.tpm_codigo = tipomaterial.tpm_codigo; tmp:=''tipomaterial|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''tpm_codigo='' || new.tpm_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.tpm_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela tipomaterial. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; return old; end;' language 'plpgsql'; create trigger tu_material after update on material for each row execute procedure fn_tu_material(); drop function fn_td_notafiscal() cascade; create function fn_td_notafiscal() returns opaque as ' declare numrows integer; begin select count(*) into numrows from material where material.fil_codigo = old.fil_codigo and material.nfi_codigoultcompra = old.nfi_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela material.''; end if; select count(*) into numrows from notafiscallanctoestoque where notafiscallanctoestoque.fil_codigo = old.fil_codigo and notafiscallanctoestoque.nfi_codigo = old.nfi_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela notafiscallanctoestoque.''; end if; delete from notafiscalstatusnfse where notafiscalstatusnfse.fil_codigo = old.fil_codigo and notafiscalstatusnfse.nfi_codigo = old.nfi_codigo; select count(*) into numrows from requisicaonotafiscal where requisicaonotafiscal.fil_codigo = old.fil_codigo and requisicaonotafiscal.nfi_codigo = old.nfi_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela requisicaonotafiscal.''; end if; select count(*) into numrows from notafiscalparcelas where notafiscalparcelas.fil_codigo = old.fil_codigo and notafiscalparcelas.nfi_codigo = old.nfi_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela notafiscalparcelas.''; end if; select count(*) into numrows from conferenciaentrada where conferenciaentrada.fil_codigo = old.fil_codigo and conferenciaentrada.nfi_codigo = old.nfi_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela conferenciaentrada.''; end if; delete from notafiscalmaterial where notafiscalmaterial.fil_codigo = old.fil_codigo and notafiscalmaterial.nfi_codigo = old.nfi_codigo; delete from notafiscalcomposicao where notafiscalcomposicao.fil_codigo = old.fil_codigo and notafiscalcomposicao.nfi_kodigo = old.nfi_codigo; select count(*) into numrows from notafiscalcomposicao where notafiscalcomposicao.fil_codigo = old.fil_codigo and notafiscalcomposicao.nfi_codigo = old.nfi_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela notafiscalcomposicao.''; end if; delete from faturanotafiscal where faturanotafiscal.fil_codigo = old.fil_codigo and faturanotafiscal.nfi_codigo = old.nfi_codigo; select count(*) into numrows from receberpagar where receberpagar.fil_codigo = old.fil_codigo and receberpagar.nfi_codigo = old.nfi_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela receberpagar.''; end if; delete from notafiscalservico where notafiscalservico.fil_codigo = old.fil_codigo and notafiscalservico.nfi_codigo = old.nfi_codigo; return old; end;' language 'plpgsql'; create trigger td_notafiscal after delete on notafiscal for each row execute procedure fn_td_notafiscal(); drop function fn_ti_notafiscal() cascade; create function fn_ti_notafiscal() returns opaque as ' declare numrows integer; tmp varchar; begin select count(*) into numrows from usuario where new.usr_codautorizafinanceira = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codautorizafinanceira || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codautorizafinanceira 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 pedido where new.fil_codigo = pedido.fil_codigo and new.ped_codigo = pedido.ped_codigo; tmp:=''pedido|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''ped_codigo='' || new.ped_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.ped_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela pedido. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from cfop where new.fil_codigo = cfop.fil_codigo and new.cfo_codigo = cfop.cfo_codigo; tmp:=''cfop|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''cfo_codigo='' || new.cfo_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.cfo_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela cfop. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from motivoscancelamentos where new.fil_codigo = motivoscancelamentos.fil_codigo and new.mov_codigo = motivoscancelamentos.mov_codigo; tmp:=''motivoscancelamentos|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''mov_codigo='' || new.mov_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.mov_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela motivoscancelamentos. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_codreimpressao = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codreimpressao || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codreimpressao is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from convenios where new.fil_codigo = convenios.fil_codigo and new.con_codigo = convenios.con_codigo; tmp:=''convenios|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''con_codigo='' || new.con_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.con_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela convenios. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from paciente where new.fil_codigo = paciente.fil_codigo and new.pac_codigo = paciente.pac_codigo; tmp:=''paciente|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''pac_codigo='' || new.pac_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.pac_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela paciente. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from entidade where new.fil_codigo = entidade.fil_codigo and new.ent_codigo = entidade.ent_codigo; tmp:=''entidade|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''ent_codigo='' || new.ent_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.ent_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela entidade. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from formapagto where new.fpg_codigo = formapagto.fpg_codigo and new.fil_codigo = formapagto.fil_codigo; tmp:=''formapagto|''; tmp:=tmp || ''fpg_codigo='' || new.fpg_codigo || ''|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela formapagto. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_codimpressao = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codimpressao || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codimpressao is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_codcancelada = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codcancelada || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codcancelada is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_codigo = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from series where new.fil_codigo = series.fil_codigo and new.ser_codigo = series.ser_codigo; tmp:=''series|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''ser_codigo='' || new.ser_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 series. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from filiais_postocoleta where new.fil_codigo = filiais_postocoleta.fil_codigo; tmp:=''filiais_postocoleta|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela filiais_postocoleta. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; return new; end;' language 'plpgsql'; create trigger ti_notafiscal after insert on notafiscal for each row execute procedure fn_ti_notafiscal(); drop function fn_tu_notafiscal() cascade; create function fn_tu_notafiscal() returns opaque as ' declare numrows integer; tmp varchar; begin if (old.fil_codigo <> new.fil_codigo or old.nfi_codigo <> new.nfi_codigo) then select count(*) from material where material.fil_codigo = old.fil_codigo and material.nfi_codigoultcompra = old.nfi_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela material.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.nfi_codigo <> new.nfi_codigo) then select count(*) from notafiscallanctoestoque where notafiscallanctoestoque.fil_codigo = old.fil_codigo and notafiscallanctoestoque.nfi_codigo = old.nfi_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela notafiscallanctoestoque.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.nfi_codigo <> new.nfi_codigo) then select count(*) from notafiscalstatusnfse where notafiscalstatusnfse.fil_codigo = old.fil_codigo and notafiscalstatusnfse.nfi_codigo = old.nfi_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela notafiscalstatusnfse.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.nfi_codigo <> new.nfi_codigo) then select count(*) from requisicaonotafiscal where requisicaonotafiscal.fil_codigo = old.fil_codigo and requisicaonotafiscal.nfi_codigo = old.nfi_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela requisicaonotafiscal.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.nfi_codigo <> new.nfi_codigo) then select count(*) from notafiscalparcelas where notafiscalparcelas.fil_codigo = old.fil_codigo and notafiscalparcelas.nfi_codigo = old.nfi_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela notafiscalparcelas.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.nfi_codigo <> new.nfi_codigo) then select count(*) from conferenciaentrada where conferenciaentrada.fil_codigo = old.fil_codigo and conferenciaentrada.nfi_codigo = old.nfi_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela conferenciaentrada.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.nfi_codigo <> new.nfi_codigo) then select count(*) from notafiscalmaterial where notafiscalmaterial.fil_codigo = old.fil_codigo and notafiscalmaterial.nfi_codigo = old.nfi_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela notafiscalmaterial.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.nfi_codigo <> new.nfi_codigo) then select count(*) from notafiscalcomposicao where notafiscalcomposicao.fil_codigo = old.fil_codigo and notafiscalcomposicao.nfi_kodigo = old.nfi_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela notafiscalcomposicao.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.nfi_codigo <> new.nfi_codigo) then select count(*) from notafiscalcomposicao where notafiscalcomposicao.fil_codigo = old.fil_codigo and notafiscalcomposicao.nfi_codigo = old.nfi_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela notafiscalcomposicao.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.nfi_codigo <> new.nfi_codigo) then select count(*) from faturanotafiscal where faturanotafiscal.fil_codigo = old.fil_codigo and faturanotafiscal.nfi_codigo = old.nfi_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela faturanotafiscal.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.nfi_codigo <> new.nfi_codigo) then select count(*) from receberpagar where receberpagar.fil_codigo = old.fil_codigo and receberpagar.nfi_codigo = old.nfi_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.nfi_codigo <> new.nfi_codigo) then select count(*) from notafiscalservico where notafiscalservico.fil_codigo = old.fil_codigo and notafiscalservico.nfi_codigo = old.nfi_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela notafiscalservico.''; end if; end if; select count(*) into numrows from usuario where new.usr_codautorizafinanceira = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codautorizafinanceira || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codautorizafinanceira 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 pedido where new.fil_codigo = pedido.fil_codigo and new.ped_codigo = pedido.ped_codigo; tmp:=''pedido|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''ped_codigo='' || new.ped_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.ped_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela pedido. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from cfop where new.fil_codigo = cfop.fil_codigo and new.cfo_codigo = cfop.cfo_codigo; tmp:=''cfop|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''cfo_codigo='' || new.cfo_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.cfo_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela cfop. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from motivoscancelamentos where new.fil_codigo = motivoscancelamentos.fil_codigo and new.mov_codigo = motivoscancelamentos.mov_codigo; tmp:=''motivoscancelamentos|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''mov_codigo='' || new.mov_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.mov_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela motivoscancelamentos. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_codreimpressao = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codreimpressao || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codreimpressao is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from convenios where new.fil_codigo = convenios.fil_codigo and new.con_codigo = convenios.con_codigo; tmp:=''convenios|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''con_codigo='' || new.con_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.con_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela convenios. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from paciente where new.fil_codigo = paciente.fil_codigo and new.pac_codigo = paciente.pac_codigo; tmp:=''paciente|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''pac_codigo='' || new.pac_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.pac_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela paciente. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from entidade where new.fil_codigo = entidade.fil_codigo and new.ent_codigo = entidade.ent_codigo; tmp:=''entidade|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''ent_codigo='' || new.ent_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.ent_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela entidade. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from formapagto where new.fpg_codigo = formapagto.fpg_codigo and new.fil_codigo = formapagto.fil_codigo; tmp:=''formapagto|''; tmp:=tmp || ''fpg_codigo='' || new.fpg_codigo || ''|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela formapagto. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_codimpressao = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codimpressao || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codimpressao is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_codcancelada = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codcancelada || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codcancelada is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_codigo = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from series where new.fil_codigo = series.fil_codigo and new.ser_codigo = series.ser_codigo; tmp:=''series|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''ser_codigo='' || new.ser_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 series. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from filiais_postocoleta where new.fil_codigo = filiais_postocoleta.fil_codigo; tmp:=''filiais_postocoleta|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela filiais_postocoleta. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; return old; end;' language 'plpgsql'; create trigger tu_notafiscal after update on notafiscal for each row execute procedure fn_tu_notafiscal(); drop function fn_td_pedido() cascade; create function fn_td_pedido() returns opaque as ' declare numrows integer; begin select count(*) into numrows from material where material.fil_codigo = old.fil_codigo and material.ped_codigoultcompra = old.ped_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela material.''; end if; select count(*) into numrows from pedidolanctoestoque where pedidolanctoestoque.fil_codigo = old.fil_codigo and pedidolanctoestoque.ped_codigo = old.ped_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela pedidolanctoestoque.''; end if; delete from pedidoparcela where pedidoparcela.fil_codigo = old.fil_codigo and pedidoparcela.ped_codigo = old.ped_codigo; select count(*) into numrows from notafiscal where notafiscal.fil_codigo = old.fil_codigo and notafiscal.ped_codigo = old.ped_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 conferenciaentrada where conferenciaentrada.fil_codigo = old.fil_codigo and conferenciaentrada.ped_codigo = old.ped_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela conferenciaentrada.''; end if; delete from pedidomaterial where pedidomaterial.fil_codigo = old.fil_codigo and pedidomaterial.ped_codigo = old.ped_codigo; return old; end;' language 'plpgsql'; create trigger td_pedido after delete on pedido for each row execute procedure fn_td_pedido(); drop function fn_ti_pedido() cascade; create function fn_ti_pedido() returns opaque as ' declare numrows integer; tmp varchar; begin select count(*) into numrows from usuario where new.usr_codexclusao = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codexclusao || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codexclusao is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from entidade where new.fil_codigo = entidade.fil_codigo and new.ent_codigo = entidade.ent_codigo; tmp:=''entidade|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''ent_codigo='' || new.ent_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela entidade. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_codautorizacao = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codautorizacao || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codautorizacao is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_codigo = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( 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 cotacao where new.fil_codigo = cotacao.fil_codigo and new.cot_codigo = cotacao.cot_codigo; tmp:=''cotacao|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''cot_codigo='' || new.cot_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.cot_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela cotacao. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from formapagto where new.fpg_codigo = formapagto.fpg_codigo and new.fil_codigo = formapagto.fil_codigo; tmp:=''formapagto|''; tmp:=tmp || ''fpg_codigo='' || new.fpg_codigo || ''|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fpg_codigo is not null and new.fil_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela formapagto. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from filiais_postocoleta where new.fil_codigo = filiais_postocoleta.fil_codigo; tmp:=''filiais_postocoleta|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela filiais_postocoleta. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; return new; end;' language 'plpgsql'; create trigger ti_pedido after insert on pedido for each row execute procedure fn_ti_pedido(); drop function fn_tu_pedido() cascade; create function fn_tu_pedido() returns opaque as ' declare numrows integer; tmp varchar; begin if (old.fil_codigo <> new.fil_codigo or old.ped_codigo <> new.ped_codigo) then select count(*) from material where material.fil_codigo = old.fil_codigo and material.ped_codigoultcompra = old.ped_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela material.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.ped_codigo <> new.ped_codigo) then select count(*) from pedidolanctoestoque where pedidolanctoestoque.fil_codigo = old.fil_codigo and pedidolanctoestoque.ped_codigo = old.ped_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela pedidolanctoestoque.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.ped_codigo <> new.ped_codigo) then select count(*) from pedidoparcela where pedidoparcela.fil_codigo = old.fil_codigo and pedidoparcela.ped_codigo = old.ped_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela pedidoparcela.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.ped_codigo <> new.ped_codigo) then select count(*) from notafiscal where notafiscal.fil_codigo = old.fil_codigo and notafiscal.ped_codigo = old.ped_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.ped_codigo <> new.ped_codigo) then select count(*) from conferenciaentrada where conferenciaentrada.fil_codigo = old.fil_codigo and conferenciaentrada.ped_codigo = old.ped_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela conferenciaentrada.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.ped_codigo <> new.ped_codigo) then select count(*) from pedidomaterial where pedidomaterial.fil_codigo = old.fil_codigo and pedidomaterial.ped_codigo = old.ped_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela pedidomaterial.''; end if; end if; select count(*) into numrows from usuario where new.usr_codexclusao = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codexclusao || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codexclusao is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from entidade where new.fil_codigo = entidade.fil_codigo and new.ent_codigo = entidade.ent_codigo; tmp:=''entidade|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''ent_codigo='' || new.ent_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela entidade. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_codautorizacao = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codautorizacao || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codautorizacao is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_codigo = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( 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 cotacao where new.fil_codigo = cotacao.fil_codigo and new.cot_codigo = cotacao.cot_codigo; tmp:=''cotacao|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''cot_codigo='' || new.cot_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.cot_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela cotacao. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from formapagto where new.fpg_codigo = formapagto.fpg_codigo and new.fil_codigo = formapagto.fil_codigo; tmp:=''formapagto|''; tmp:=tmp || ''fpg_codigo='' || new.fpg_codigo || ''|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fpg_codigo is not null and new.fil_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela formapagto. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from filiais_postocoleta where new.fil_codigo = filiais_postocoleta.fil_codigo; tmp:=''filiais_postocoleta|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela filiais_postocoleta. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; return old; end;' language 'plpgsql'; create trigger tu_pedido after update on pedido for each row execute procedure fn_tu_pedido(); insert into atualizacoes(atu_nome) values ('v20070005_100920.sql'); alter table filiais_postocoleta add fil_certificadornds text, add fil_senhacertificadornds varchar(100), add fil_cpfrnds varchar(18), add fil_validadecertificadornds date, add fil_idrnds varchar(20); insert into atualizacoes(atu_nome) values ('v20070006_100920.sql'); create table examerequisicaohistoricornds ( fil_codigo integer not null, exa_codigo varchar(5) not null, mco_codigo integer not null, req_codigo integer not null, hrn_codigo serial not null, hrn_datahora timestamp, hrn_situacao varchar(1), hrn_mensagem varchar(3000) ); create unique index xpkexamerequisicaohistoricornds on examerequisicaohistoricornds ( fil_codigo, exa_codigo, mco_codigo, req_codigo, hrn_codigo ); create index xif1examerequisicaohistoricornd on examerequisicaohistoricornds ( fil_codigo, exa_codigo, mco_codigo, req_codigo ); alter table examerequisicaohistoricornds add primary key (fil_codigo, exa_codigo, mco_codigo, req_codigo, hrn_codigo); drop function fn_td_examerequisicao() cascade; create function fn_td_examerequisicao() returns opaque as ' declare numrows integer; begin delete from examerequisicaohistoricornds where examerequisicaohistoricornds.fil_codigo = old.fil_codigo and examerequisicaohistoricornds.exa_codigo = old.exa_codigo and examerequisicaohistoricornds.mco_codigo = old.mco_codigo and examerequisicaohistoricornds.req_codigo = old.req_codigo; select count(*) into numrows from integracaosaveexamerequisicao where integracaosaveexamerequisicao.fil_kodigo = old.fil_codigo and integracaosaveexamerequisicao.exa_codigo = old.exa_codigo and integracaosaveexamerequisicao.mco_codigo = old.mco_codigo and integracaosaveexamerequisicao.req_codigo = old.req_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela integracaosaveexamerequisicao.''; end if; select count(*) into numrows from examerequisicaohistoricoentrega where examerequisicaohistoricoentrega.fil_codigo = old.fil_codigo and examerequisicaohistoricoentrega.exa_codigo = old.exa_codigo and examerequisicaohistoricoentrega.mco_codigo = old.mco_codigo and examerequisicaohistoricoentrega.req_codigo = old.req_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicaohistoricoentrega.''; end if; delete from agendamentoexamerequisicao where agendamentoexamerequisicao.fil_codigo = old.fil_codigo and agendamentoexamerequisicao.exa_codigo = old.exa_codigo and agendamentoexamerequisicao.mco_codigo = old.mco_codigo and agendamentoexamerequisicao.req_codigo = old.req_codigo; delete from exportaintegracaohospital where exportaintegracaohospital.fil_codigo = old.fil_codigo and exportaintegracaohospital.exa_codigo = old.exa_codigo and exportaintegracaohospital.mco_codigo = old.mco_codigo and exportaintegracaohospital.req_codigo = old.req_codigo; select count(*) into numrows from logids where logids.fil_codigo = old.fil_codigo and logids.exa_codigo = old.exa_codigo and logids.mco_codigo = old.mco_codigo and logids.req_codigo = old.req_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela logids.''; end if; delete from examerequisicaohistoricosetor where examerequisicaohistoricosetor.fil_codigo = old.fil_codigo and examerequisicaohistoricosetor.exa_codigo = old.exa_codigo and examerequisicaohistoricosetor.mco_codigo = old.mco_codigo and examerequisicaohistoricosetor.req_codigo = old.req_codigo; delete from examerequisicaoetiquetas where examerequisicaoetiquetas.fil_codigo = old.fil_codigo and examerequisicaoetiquetas.exa_codigo = old.exa_codigo and examerequisicaoetiquetas.mco_codigo = old.mco_codigo and examerequisicaoetiquetas.req_codigo = old.req_codigo; delete from examerequisicaoemailatraso where examerequisicaoemailatraso.fil_codigo = old.fil_codigo and examerequisicaoemailatraso.exa_codigo = old.exa_codigo and examerequisicaoemailatraso.mco_codigo = old.mco_codigo and examerequisicaoemailatraso.req_codigo = old.req_codigo; select count(*) into numrows from examerequisicaodadosbrutos where examerequisicaodadosbrutos.fil_codigo = old.fil_codigo and examerequisicaodadosbrutos.exa_codigo = old.exa_codigo and examerequisicaodadosbrutos.mco_codigo = old.mco_codigo and examerequisicaodadosbrutos.req_codigo = old.req_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicaodadosbrutos.''; end if; delete from examerequisicaoincerteza where examerequisicaoincerteza.fil_codigo = old.fil_codigo and examerequisicaoincerteza.exa_codigo = old.exa_codigo and examerequisicaoincerteza.mco_codigo = old.mco_codigo and examerequisicaoincerteza.req_codigo = old.req_codigo; select count(*) into numrows from lotefilialexamerequisicao where lotefilialexamerequisicao.fil_codigo = old.fil_codigo and lotefilialexamerequisicao.exa_codigo = old.exa_codigo and lotefilialexamerequisicao.mco_codigo = old.mco_codigo and lotefilialexamerequisicao.req_codigo = old.req_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela lotefilialexamerequisicao.''; end if; delete from examerequisicaoresultado where examerequisicaoresultado.fil_codigo = old.fil_codigo and examerequisicaoresultado.exa_codigo = old.exa_codigo and examerequisicaoresultado.mco_codigo = old.mco_codigo and examerequisicaoresultado.req_codigo = old.req_codigo; select count(*) into numrows from examerequisicaolaminas where examerequisicaolaminas.fil_codigo = old.fil_codigo and examerequisicaolaminas.exa_codigo = old.exa_codigo and examerequisicaolaminas.mco_codigo = old.mco_codigo and examerequisicaolaminas.req_codigo = old.req_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicaolaminas.''; end if; select count(*) into numrows from examerequisicaohash where examerequisicaohash.fil_codigo = old.fil_codigo and examerequisicaohash.exa_codigo = old.exa_codigo and examerequisicaohash.mco_codigo = old.mco_codigo and examerequisicaohash.req_codigo = old.req_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicaohash.''; end if; delete from examerequisicaotrocas where examerequisicaotrocas.fil_codigo = old.fil_codigo and examerequisicaotrocas.exa_codigo = old.exa_codigo and examerequisicaotrocas.mco_codigo = old.mco_codigo and examerequisicaotrocas.req_codigo = old.req_codigo; delete from examerequisicaohistoricolaudo where examerequisicaohistoricolaudo.fil_codigo = old.fil_codigo and examerequisicaohistoricolaudo.exa_codigo = old.exa_codigo and examerequisicaohistoricolaudo.mco_codigo = old.mco_codigo and examerequisicaohistoricolaudo.req_codigo = old.req_codigo; delete from examerequisicaosetor where examerequisicaosetor.fil_codigo = old.fil_codigo and examerequisicaosetor.exa_codigo = old.exa_codigo and examerequisicaosetor.mco_codigo = old.mco_codigo and examerequisicaosetor.req_codigo = old.req_codigo; select count(*) into numrows from examerequisicaoguiaagrupada where examerequisicaoguiaagrupada.fil_codigo = old.fil_codigo and examerequisicaoguiaagrupada.exa_codigo = old.exa_codigo and examerequisicaoguiaagrupada.mco_codigo = old.mco_codigo and examerequisicaoguiaagrupada.req_codigo = old.req_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela examerequisicaoguiaagrupada.''; end if; delete from examerequisicaosituacoes where examerequisicaosituacoes.fil_codigo = old.fil_codigo and examerequisicaosituacoes.exa_codigo = old.exa_codigo and examerequisicaosituacoes.mco_codigo = old.mco_codigo and examerequisicaosituacoes.req_codigo = old.req_codigo; select count(*) into numrows from loteexternoexamerequisicao where loteexternoexamerequisicao.fil_kodigo = old.fil_codigo and loteexternoexamerequisicao.exa_codigo = old.exa_codigo and loteexternoexamerequisicao.mco_codigo = old.mco_codigo and loteexternoexamerequisicao.req_codigo = old.req_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela loteexternoexamerequisicao.''; end if; delete from examerequisicaorecipiente where examerequisicaorecipiente.fil_codigo = old.fil_codigo and examerequisicaorecipiente.exa_codigo = old.exa_codigo and examerequisicaorecipiente.mco_codigo = old.mco_codigo and examerequisicaorecipiente.req_codigo = old.req_codigo; select count(*) into numrows from faturaexamerequisicao where faturaexamerequisicao.fil_kodigo = old.fil_codigo and faturaexamerequisicao.exa_codigo = old.exa_codigo and faturaexamerequisicao.mco_codigo = old.mco_codigo and faturaexamerequisicao.req_codigo = old.req_codigo; if (numrows > 0) then raise exception ''o registro nao pode ser excluido, por estar sendo utilizado na tabela faturaexamerequisicao.''; end if; delete from interfaceexamerequisicao where interfaceexamerequisicao.fil_codigo = old.fil_codigo and interfaceexamerequisicao.exa_codigo = old.exa_codigo and interfaceexamerequisicao.mco_codigo = old.mco_codigo and interfaceexamerequisicao.req_codigo = old.req_codigo; delete from materialexamerequis where materialexamerequis.fil_codigo = old.fil_codigo and materialexamerequis.exa_codigo = old.exa_codigo and materialexamerequis.mco_codigo = old.mco_codigo and materialexamerequis.req_codigo = old.req_codigo; delete from examerequisicaoresultado where fil_codigo = old.fil_codigo and req_codigo = old.req_codigo and exa_codigo = old.exa_codigo and mco_codigo = old.mco_codigo; return old; end' language 'plpgsql'; create trigger td_examerequisicao after delete on examerequisicao for each row execute procedure fn_td_examerequisicao(); drop function fn_ti_examerequisicao() cascade; create function fn_ti_examerequisicao() returns opaque as ' declare numrows integer; tmp varchar; begin select count(*) into numrows from usuario where new.usr_coddialsist = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_coddialsist || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_coddialsist is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_codenvioemail = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codenvioemail || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codenvioemail 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 motivorecoleta where new.fil_codigo = motivorecoleta.fil_codigo and new.mrc_codigo = motivorecoleta.mrc_codigo; tmp:=''motivorecoleta|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''mrc_codigo='' || new.mrc_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.mrc_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela motivorecoleta. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_codduplaconferencia = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codduplaconferencia || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codduplaconferencia is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_codsolicitadotiss = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codsolicitadotiss || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codsolicitadotiss is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from examematcoleta where new.fil_codigo = examematcoleta.fil_codigo and new.exa_codigopai = examematcoleta.exa_codigo and new.mco_codigopai = examematcoleta.mco_codigo; tmp:=''examematcoleta|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''exa_codigo='' || new.exa_codigopai || ''|''; tmp:=tmp || ''mco_codigo='' || new.mco_codigopai || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.exa_codigopai is not null and new.mco_codigopai is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela examematcoleta. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_codcoletar = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codcoletar || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codcoletar is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_codtransportechegada = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codtransportechegada || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codtransportechegada is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_codtransportesaida = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codtransportesaida || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codtransportesaida is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_codtrocalayout = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codtrocalayout || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codtrocalayout is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_codalteracaopreco = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codalteracaopreco || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codalteracaopreco is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_codrecoleta = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codrecoleta || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codrecoleta is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_codfaturarepasse = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codfaturarepasse || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codfaturarepasse is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_codrepeticao = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codrepeticao || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codrepeticao is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_codguia = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codguia || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codguia is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_codexcluido = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codexcluido || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codexcluido is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_codmaterialsetor = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codmaterialsetor || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codmaterialsetor is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_codloteexterno = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codloteexterno || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codloteexterno is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_codetqtriagem = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codetqtriagem || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codetqtriagem is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_codetqcoleta = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codetqcoleta || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codetqcoleta is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_codtriagem = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codtriagem || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codtriagem is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_codnaofaturar = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codnaofaturar || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codnaofaturar is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_codcortesia = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codcortesia || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codcortesia is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_codmapa = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codmapa || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codmapa is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_codigo = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from examematcoleta where new.fil_codigo = examematcoleta.fil_codigo and new.exa_codigo = examematcoleta.exa_codigo and new.mco_codigo = examematcoleta.mco_codigo; tmp:=''examematcoleta|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''exa_codigo='' || new.exa_codigo || ''|''; tmp:=tmp || ''mco_codigo='' || new.mco_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela examematcoleta. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_codimpressao = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codimpressao || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codimpressao is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_codentrega = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codentrega || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codentrega is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_codfatura = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codfatura || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codfatura is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_codmaterial = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codmaterial || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codmaterial is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_coddigitador = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_coddigitador || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_coddigitador is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from usuario where new.usr_codassina = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codassina || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codassina is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from materialcoleta where new.fil_codigo = materialcoleta.fil_codigo and new.mco_codigo = materialcoleta.mco_codigo; tmp:=''materialcoleta|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''mco_codigo='' || new.mco_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.mco_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela materialcoleta. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from metodologia where new.fil_codigo = metodologia.fil_codigo and new.met_codigo = metodologia.met_codigo; tmp:=''metodologia|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''met_codigo='' || new.met_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.met_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela metodologia. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; select count(*) into numrows from requisicao where new.fil_codigo = requisicao.fil_codigo and new.req_codigo = requisicao.req_codigo; tmp:=''requisicao|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''req_codigo='' || new.req_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela requisicao. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; insert into examerequisicaoresultado(fil_codigo, req_codigo, exa_codigo, mco_codigo, ert_resultado) values (new.fil_codigo, new.req_codigo, new.exa_codigo, new.mco_codigo, new.exr_resultado); /* troca o valor do campo de resultado na tabela exame requisicao */ new.exr_resultado = ''.''; return new; end' language 'plpgsql'; create trigger ti_examerequisicao after insert on examerequisicao for each row execute procedure fn_ti_examerequisicao(); drop function fn_tu_b_examerequisicao() cascade; create function fn_tu_b_examerequisicao() returns opaque as ' declare req bigint; begin select req_codigo into req from examerequisicaoresultado where fil_codigo = new.fil_codigo and req_codigo = new.req_codigo and exa_codigo = new.exa_codigo and mco_codigo = new.mco_codigo; if (not found) then insert into examerequisicaoresultado(fil_codigo, req_codigo, exa_codigo, mco_codigo) values (new.fil_codigo, new.req_codigo, new.exa_codigo, new.mco_codigo); end if; if ((upper(new.exr_situacao) = upper(''l'') or upper(new.exr_situacao) = upper(''c'') or upper(new.exr_situacao) = upper(''i'') or upper(new.exr_situacao) = upper(''e'') or upper(new.exr_situacao) = upper(''p'')) and new.exr_resultado is not null and length(new.exr_resultado) > 0) then update examerequisicaoresultado set ert_resultado = new.exr_resultado where fil_codigo = new.fil_codigo and req_codigo = new.req_codigo and exa_codigo = new.exa_codigo and mco_codigo = new.mco_codigo; end if; if ((new.exr_situacao is null or new.exr_situacao = '''' or upper(new.exr_situacao) = upper(''f'') or upper(new.exr_situacao) = upper(''t'') or upper(new.exr_situacao) = upper(''r''))) then update examerequisicaoresultado set ert_resultado = new.exr_resultado where fil_codigo = new.fil_codigo and req_codigo = new.req_codigo and exa_codigo = new.exa_codigo and mco_codigo = new.mco_codigo; end if; /* troca o valor do campo de resultado na tabela exame requisicao */ new.exr_resultado := null; return new; end' language 'plpgsql'; create trigger tu_b_examerequisicao before update on examerequisicao for each row execute procedure fn_tu_b_examerequisicao(); drop function fn_tu_examerequisicao() cascade; create function fn_tu_examerequisicao() returns opaque as ' declare numrows integer; tmp varchar; begin select count(*) into numrows from usuario where new.usr_coddialsist = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_coddialsist || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_coddialsist is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_codenvioemail = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codenvioemail || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codenvioemail 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 motivorecoleta where new.fil_codigo = motivorecoleta.fil_codigo and new.mrc_codigo = motivorecoleta.mrc_codigo; tmp:=''motivorecoleta|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''mrc_codigo='' || new.mrc_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.mrc_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela motivorecoleta. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_codduplaconferencia = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codduplaconferencia || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codduplaconferencia is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_codsolicitadotiss = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codsolicitadotiss || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codsolicitadotiss is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from examematcoleta where new.fil_codigo = examematcoleta.fil_codigo and new.exa_codigopai = examematcoleta.exa_codigo and new.mco_codigopai = examematcoleta.mco_codigo; tmp:=''examematcoleta|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''exa_codigo='' || new.exa_codigopai || ''|''; tmp:=tmp || ''mco_codigo='' || new.mco_codigopai || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.exa_codigopai is not null and new.mco_codigopai is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela examematcoleta. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_codcoletar = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codcoletar || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codcoletar is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_codtransportechegada = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codtransportechegada || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codtransportechegada is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_codtransportesaida = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codtransportesaida || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codtransportesaida is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_codtrocalayout = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codtrocalayout || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codtrocalayout is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_codalteracaopreco = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codalteracaopreco || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codalteracaopreco is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_codrecoleta = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codrecoleta || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codrecoleta is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_codfaturarepasse = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codfaturarepasse || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codfaturarepasse is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_codrepeticao = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codrepeticao || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codrepeticao is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_codguia = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codguia || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codguia is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_codexcluido = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codexcluido || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codexcluido is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_codmaterialsetor = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codmaterialsetor || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codmaterialsetor is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_codloteexterno = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codloteexterno || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codloteexterno is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_codetqtriagem = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codetqtriagem || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codetqtriagem is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_codetqcoleta = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codetqcoleta || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codetqcoleta is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_codtriagem = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codtriagem || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codtriagem is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_codnaofaturar = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codnaofaturar || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codnaofaturar is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_codcortesia = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codcortesia || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codcortesia is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_codmapa = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codmapa || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codmapa is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_codigo = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from examematcoleta where new.fil_codigo = examematcoleta.fil_codigo and new.exa_codigo = examematcoleta.exa_codigo and new.mco_codigo = examematcoleta.mco_codigo; tmp:=''examematcoleta|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''exa_codigo='' || new.exa_codigo || ''|''; tmp:=tmp || ''mco_codigo='' || new.mco_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela examematcoleta. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_codimpressao = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codimpressao || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codimpressao is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_codentrega = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codentrega || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codentrega is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_codfatura = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codfatura || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codfatura is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_codmaterial = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codmaterial || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codmaterial is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_coddigitador = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_coddigitador || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_coddigitador is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from usuario where new.usr_codassina = usuario.usr_codigo; tmp:=''usuario|''; tmp:=tmp || ''usr_codigo='' || new.usr_codassina || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.usr_codassina is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela usuario. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from materialcoleta where new.fil_codigo = materialcoleta.fil_codigo and new.mco_codigo = materialcoleta.mco_codigo; tmp:=''materialcoleta|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''mco_codigo='' || new.mco_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.mco_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela materialcoleta. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from metodologia where new.fil_codigo = metodologia.fil_codigo and new.met_codigo = metodologia.met_codigo; tmp:=''metodologia|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''met_codigo='' || new.met_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( new.fil_codigo is not null and new.met_codigo is not null and numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela metodologia. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; select count(*) into numrows from requisicao where new.fil_codigo = requisicao.fil_codigo and new.req_codigo = requisicao.req_codigo; tmp:=''requisicao|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''req_codigo='' || new.req_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela requisicao. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from examerequisicaohistoricornds where examerequisicaohistoricornds.fil_codigo = old.fil_codigo and examerequisicaohistoricornds.exa_codigo = old.exa_codigo and examerequisicaohistoricornds.mco_codigo = old.mco_codigo and examerequisicaohistoricornds.req_codigo = old.req_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicaohistoricornds.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from integracaosaveexamerequisicao where integracaosaveexamerequisicao.fil_kodigo = old.fil_codigo and integracaosaveexamerequisicao.exa_codigo = old.exa_codigo and integracaosaveexamerequisicao.mco_codigo = old.mco_codigo and integracaosaveexamerequisicao.req_codigo = old.req_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela integracaosaveexamerequisicao.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from examerequisicaohistoricoentrega where examerequisicaohistoricoentrega.fil_codigo = old.fil_codigo and examerequisicaohistoricoentrega.exa_codigo = old.exa_codigo and examerequisicaohistoricoentrega.mco_codigo = old.mco_codigo and examerequisicaohistoricoentrega.req_codigo = old.req_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicaohistoricoentrega.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from agendamentoexamerequisicao where agendamentoexamerequisicao.fil_codigo = old.fil_codigo and agendamentoexamerequisicao.exa_codigo = old.exa_codigo and agendamentoexamerequisicao.mco_codigo = old.mco_codigo and agendamentoexamerequisicao.req_codigo = old.req_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela agendamentoexamerequisicao.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from exportaintegracaohospital where exportaintegracaohospital.fil_codigo = old.fil_codigo and exportaintegracaohospital.exa_codigo = old.exa_codigo and exportaintegracaohospital.mco_codigo = old.mco_codigo and exportaintegracaohospital.req_codigo = old.req_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela exportaintegracaohospital.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from logids where logids.fil_codigo = old.fil_codigo and logids.exa_codigo = old.exa_codigo and logids.mco_codigo = old.mco_codigo and logids.req_codigo = old.req_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela logids.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from examerequisicaohistoricosetor where examerequisicaohistoricosetor.fil_codigo = old.fil_codigo and examerequisicaohistoricosetor.exa_codigo = old.exa_codigo and examerequisicaohistoricosetor.mco_codigo = old.mco_codigo and examerequisicaohistoricosetor.req_codigo = old.req_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicaohistoricosetor.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from examerequisicaoetiquetas where examerequisicaoetiquetas.fil_codigo = old.fil_codigo and examerequisicaoetiquetas.exa_codigo = old.exa_codigo and examerequisicaoetiquetas.mco_codigo = old.mco_codigo and examerequisicaoetiquetas.req_codigo = old.req_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicaoetiquetas.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from examerequisicaoemailatraso where examerequisicaoemailatraso.fil_codigo = old.fil_codigo and examerequisicaoemailatraso.exa_codigo = old.exa_codigo and examerequisicaoemailatraso.mco_codigo = old.mco_codigo and examerequisicaoemailatraso.req_codigo = old.req_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicaoemailatraso.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from examerequisicaodadosbrutos where examerequisicaodadosbrutos.fil_codigo = old.fil_codigo and examerequisicaodadosbrutos.exa_codigo = old.exa_codigo and examerequisicaodadosbrutos.mco_codigo = old.mco_codigo and examerequisicaodadosbrutos.req_codigo = old.req_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicaodadosbrutos.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from examerequisicaoincerteza where examerequisicaoincerteza.fil_codigo = old.fil_codigo and examerequisicaoincerteza.exa_codigo = old.exa_codigo and examerequisicaoincerteza.mco_codigo = old.mco_codigo and examerequisicaoincerteza.req_codigo = old.req_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicaoincerteza.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from lotefilialexamerequisicao where lotefilialexamerequisicao.fil_codigo = old.fil_codigo and lotefilialexamerequisicao.exa_codigo = old.exa_codigo and lotefilialexamerequisicao.mco_codigo = old.mco_codigo and lotefilialexamerequisicao.req_codigo = old.req_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela lotefilialexamerequisicao.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from examerequisicaoresultado where examerequisicaoresultado.fil_codigo = old.fil_codigo and examerequisicaoresultado.exa_codigo = old.exa_codigo and examerequisicaoresultado.mco_codigo = old.mco_codigo and examerequisicaoresultado.req_codigo = old.req_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicaoresultado.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from examerequisicaolaminas where examerequisicaolaminas.fil_codigo = old.fil_codigo and examerequisicaolaminas.exa_codigo = old.exa_codigo and examerequisicaolaminas.mco_codigo = old.mco_codigo and examerequisicaolaminas.req_codigo = old.req_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicaolaminas.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from examerequisicaohash where examerequisicaohash.fil_codigo = old.fil_codigo and examerequisicaohash.exa_codigo = old.exa_codigo and examerequisicaohash.mco_codigo = old.mco_codigo and examerequisicaohash.req_codigo = old.req_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicaohash.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from examerequisicaotrocas where examerequisicaotrocas.fil_codigo = old.fil_codigo and examerequisicaotrocas.exa_codigo = old.exa_codigo and examerequisicaotrocas.mco_codigo = old.mco_codigo and examerequisicaotrocas.req_codigo = old.req_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicaotrocas.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from examerequisicaohistoricolaudo where examerequisicaohistoricolaudo.fil_codigo = old.fil_codigo and examerequisicaohistoricolaudo.exa_codigo = old.exa_codigo and examerequisicaohistoricolaudo.mco_codigo = old.mco_codigo and examerequisicaohistoricolaudo.req_codigo = old.req_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicaohistoricolaudo.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from examerequisicaosetor where examerequisicaosetor.fil_codigo = old.fil_codigo and examerequisicaosetor.exa_codigo = old.exa_codigo and examerequisicaosetor.mco_codigo = old.mco_codigo and examerequisicaosetor.req_codigo = old.req_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicaosetor.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from examerequisicaoguiaagrupada where examerequisicaoguiaagrupada.fil_codigo = old.fil_codigo and examerequisicaoguiaagrupada.exa_codigo = old.exa_codigo and examerequisicaoguiaagrupada.mco_codigo = old.mco_codigo and examerequisicaoguiaagrupada.req_codigo = old.req_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicaoguiaagrupada.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from examerequisicaosituacoes where examerequisicaosituacoes.fil_codigo = old.fil_codigo and examerequisicaosituacoes.exa_codigo = old.exa_codigo and examerequisicaosituacoes.mco_codigo = old.mco_codigo and examerequisicaosituacoes.req_codigo = old.req_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicaosituacoes.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from loteexternoexamerequisicao where loteexternoexamerequisicao.fil_kodigo = old.fil_codigo and loteexternoexamerequisicao.exa_codigo = old.exa_codigo and loteexternoexamerequisicao.mco_codigo = old.mco_codigo and loteexternoexamerequisicao.req_codigo = old.req_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela loteexternoexamerequisicao.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from examerequisicaorecipiente where examerequisicaorecipiente.fil_codigo = old.fil_codigo and examerequisicaorecipiente.exa_codigo = old.exa_codigo and examerequisicaorecipiente.mco_codigo = old.mco_codigo and examerequisicaorecipiente.req_codigo = old.req_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela examerequisicaorecipiente.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from faturaexamerequisicao where faturaexamerequisicao.fil_kodigo = old.fil_codigo and faturaexamerequisicao.exa_codigo = old.exa_codigo and faturaexamerequisicao.mco_codigo = old.mco_codigo and faturaexamerequisicao.req_codigo = old.req_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela faturaexamerequisicao.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from interfaceexamerequisicao where interfaceexamerequisicao.fil_codigo = old.fil_codigo and interfaceexamerequisicao.exa_codigo = old.exa_codigo and interfaceexamerequisicao.mco_codigo = old.mco_codigo and interfaceexamerequisicao.req_codigo = old.req_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela interfaceexamerequisicao.''; end if; end if; if (old.fil_codigo <> new.fil_codigo or old.exa_codigo <> new.exa_codigo or old.mco_codigo <> new.mco_codigo or old.req_codigo <> new.req_codigo) then select count(*) from materialexamerequis where materialexamerequis.fil_codigo = old.fil_codigo and materialexamerequis.exa_codigo = old.exa_codigo and materialexamerequis.mco_codigo = old.mco_codigo and materialexamerequis.req_codigo = old.req_codigo into numrows; if (numrows > 0) then raise exception ''o registro nao pode ser alterado, pois um valor esta sendo utilizado na tabela materialexamerequis.''; end if; end if; return new; end' language 'plpgsql'; create trigger tu_examerequisicao after update on examerequisicao for each row execute procedure fn_tu_examerequisicao(); --drop function fn_ti_examerequisicaohistoricornds() cascade; create function fn_ti_examerequisicaohistoricornds() returns opaque as ' declare numrows integer; tmp varchar; begin select count(*) into numrows from examerequisicao where new.fil_codigo = examerequisicao.fil_codigo and new.exa_codigo = examerequisicao.exa_codigo and new.mco_codigo = examerequisicao.mco_codigo and new.req_codigo = examerequisicao.req_codigo; tmp:=''examerequisicao|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''exa_codigo='' || new.exa_codigo || ''|''; tmp:=tmp || ''mco_codigo='' || new.mco_codigo || ''|''; tmp:=tmp || ''req_codigo='' || new.req_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( numrows = 0 ) then raise exception ''o registro nao pode ser inserido, pois um valor informado nao existe na tabela examerequisicao. chave para consulta:[%]'',tmp using errcode=upper(''ifkne''); end if; return new; end;' language 'plpgsql'; create trigger ti_examerequisicaohistoricornds after insert on examerequisicaohistoricornds for each row execute procedure fn_ti_examerequisicaohistoricornds(); --drop function fn_tu_examerequisicaohistoricornds() cascade; create function fn_tu_examerequisicaohistoricornds() returns opaque as ' declare numrows integer; tmp varchar; begin select count(*) into numrows from examerequisicao where new.fil_codigo = examerequisicao.fil_codigo and new.exa_codigo = examerequisicao.exa_codigo and new.mco_codigo = examerequisicao.mco_codigo and new.req_codigo = examerequisicao.req_codigo; tmp:=''examerequisicao|''; tmp:=tmp || ''fil_codigo='' || new.fil_codigo || ''|''; tmp:=tmp || ''exa_codigo='' || new.exa_codigo || ''|''; tmp:=tmp || ''mco_codigo='' || new.mco_codigo || ''|''; tmp:=tmp || ''req_codigo='' || new.req_codigo || ''|''; tmp:=substring(tmp,1,length(tmp)-1); if ( numrows = 0 ) then raise exception ''o registro nao pode ser alterado, pois um valor nao existe na tabela examerequisicao. chave para consulta:[%]'',tmp using errcode=upper(''ufkne''); end if; return old; end;' language 'plpgsql'; create trigger tu_examerequisicaohistoricornds after update on examerequisicaohistoricornds for each row execute procedure fn_tu_examerequisicaohistoricornds(); select configurageralog('examerequisicaohistoricornds'); insert into atualizacoes(atu_nome) values ('v20070007_110920.sql'); alter table configuracaoweb add cwe_apelidosituacao text; insert into atualizacoes(atu_nome) values ('v20070008_150920.sql'); alter table labexterno add lae_ignorarcopiaconfiguracao boolean default false; insert into atualizacoes(atu_nome) values ('v20070009_210920.sql'); alter table layout add lay_tiponotificacao varchar(1), add lay_notificacao text; alter table exames add exa_cabecalhonotificacao text, add exa_corponotificacao text; insert into atualizacoes(atu_nome) values ('v20070010_210920.sql');