From 059197a455eba6839f012b44e00e92d9c3ed1840 Mon Sep 17 00:00:00 2001 From: valdevir Date: Mon, 17 Dec 2018 20:30:48 +0000 Subject: [PATCH] fixes bug#12867 dev:Valdevir qua:Valdir git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/BD/FlyWay/trunk@88043 d1611594-4594-4d17-8e1d-87c2c4800839 --- .../migration/V20181211_1544__mantis12954.sql | 50 +++++++++++++++++++ .../migration/V20181211_1544__mantis12954.sql | 50 +++++++++++++++++++ 2 files changed, 100 insertions(+) create mode 100644 src/db/migration/V20181211_1544__mantis12954.sql create mode 100644 src/db/postgresql/migration/V20181211_1544__mantis12954.sql diff --git a/src/db/migration/V20181211_1544__mantis12954.sql b/src/db/migration/V20181211_1544__mantis12954.sql new file mode 100644 index 000000000..bc7e63665 --- /dev/null +++ b/src/db/migration/V20181211_1544__mantis12954.sql @@ -0,0 +1,50 @@ +--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; \ No newline at end of file diff --git a/src/db/postgresql/migration/V20181211_1544__mantis12954.sql b/src/db/postgresql/migration/V20181211_1544__mantis12954.sql new file mode 100644 index 000000000..bc7e63665 --- /dev/null +++ b/src/db/postgresql/migration/V20181211_1544__mantis12954.sql @@ -0,0 +1,50 @@ +--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; \ No newline at end of file