--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;