fixes bug#0011649

dev: emerson
qua: 

Implementação para garantir a integridade da tabela TARIFA, podendo existir apenas um registro ativo com os seguintes valores: 
TRAMO_ID, MARCA_ID, CLASESERVICIO_ID, MONEDA_ID, VIGENCIATARIFA_ID, ORGAOCONCEDENTE_ID e RUTA_ID.

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/BD/FlyWay/trunk@83640 d1611594-4594-4d17-8e1d-87c2c4800839
master
emerson 2018-07-25 20:48:19 +00:00
parent 65f095e8b8
commit 37f4407bd2
1 changed files with 9 additions and 25 deletions

View File

@ -1,27 +1,11 @@
declare
itemExists number;
instrucao varchar2(255);
indice_nao_existe exception;
pragma exception_init (indece_nao_existe , -01418);
begin
itemExists := 0;
select count(constraint_name) into itemExists
from all_constraints
where upper(constraint_name) = upper('TARIFA_UNICA');
if itemExists > 0 then
execute immediate 'ALTER TABLE TARIFA DROP CONSTRAINT TARIFA_UNICA';
end if;
select 'DROP INDEX '||OWNER||'.TARIFA_UNICA' into instrucao
from all_indexes
where upper(index_name) = upper('TARIFA_UNICA');
if instrucao is not null then
execute immediate instrucao;
end if;
end;/
execute immediate 'DROP INDEX TARIFA_UNICA';
exception when indice_nao_existe then null;
end;
/
declare
column_exists exception;