AdmMono/src/db/backup/postgresql/V20181211_1544__mantis12954...

50 lines
1.8 KiB
SQL

--Apaga registros duplicados do estoque de taxa de embarque.
declare
column_exists exception;
pragma exception_init (column_exists , -01430);
begin
execute immediate 'DELETE FROM (
SELECT C.TAXPOL_ID, C.NUMTAXA,C.EMPRESA_ID, C.LOCALIDADE_ID, C.TAXPOLC_ID, C.ACTIVO
FROM TAXPOL C
WHERE C.ROWID <>
( SELECT MAX(ROWID) FROM TAXPOL CJ WHERE CJ.NUMTAXA = C.NUMTAXA
and CJ.EMPRESA_ID = C.EMPRESA_ID
and CJ.LOCALIDADE_ID = C.LOCALIDADE_ID
)
ORDER BY C.TAXPOL_ID, C.NUMTAXA
)';
exception when column_exists then null;
end;
/
declare
column_exists exception;
--ORA-01442: a coluna a ser modificada para NOT NULL já é NOT NULL
pragma exception_init (column_exists , -1442);
begin
execute immediate 'ALTER TABLE TAXPOL MODIFY ("NUMTAXA" NOT NULL ENABLE)';
exception when column_exists then null;
end;
/
declare
column_exists exception;
--ORA-02261: esta chave exclusiva ou primária já existe na tabela
pragma exception_init (column_exists , -02261);
begin
execute immediate 'ALTER TABLE "TAXPOL" ADD CONSTRAINT "NUMTAXA_UK" UNIQUE ("NUMTAXA", "EMPRESA_ID", "LOCALIDADE_ID")
USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "USERS" ENABLE';
exception when column_exists then null;
end;
/
declare
column_exists exception;
--ORA-02275: esta restrição referencial já existe na tabela
pragma exception_init (column_exists , -2275);
begin
execute immediate 'ALTER TABLE TAXPOL ADD CONSTRAINT "TAXPOLC_FK" FOREIGN KEY ("TAXPOLC_ID")
REFERENCES TAXPOLC ("TAXPOLC_ID") ENABLE';
exception when column_exists then null;
end;