44 lines
1.5 KiB
SQL
44 lines
1.5 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")';
|
|
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; |