0018935: Cadastro de Cliente - NumFidelidade

bug#18935
dev:thiago.veloso
qua:

git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/BD/FlyWay/trunk@101152 d1611594-4594-4d17-8e1d-87c2c4800839
master
valdir 2020-04-08 17:21:07 +00:00
parent b31d523be0
commit 90e342d2b8
2 changed files with 116 additions and 0 deletions

View File

@ -0,0 +1,69 @@
--CRIA NOVA COLUNA
declare
column_exists exception;
pragma exception_init (column_exists , -01430);
begin
execute immediate 'ALTER TABLE TARJETA_FIDELIDAD ADD (NUMTARJETA_BACKUP VARCHAR(30))';
exception when column_exists then null;
end;
/
-- COPIA OS VALORES
declare
dup_val_on_index exception;
except_02291 exception;
pragma exception_init (dup_val_on_index , -00001);
pragma exception_init (except_02291 , -02291);
begin
execute immediate 'UPDATE TARJETA_FIDELIDAD SET NUMTARJETA_BACKUP = NUMTARJETA';
exception
when dup_val_on_index then null;
when except_02291 then null;
end;
/
--LIMPA O COLUNA
declare
dup_val_on_index exception;
except_02291 exception;
pragma exception_init (dup_val_on_index , -00001);
pragma exception_init (except_02291 , -02291);
begin
execute immediate 'UPDATE TARJETA_FIDELIDAD SET NUMTARJETA = NULL';
exception
when dup_val_on_index then null;
when except_02291 then null;
end;
/
--ALTERA A COLUNA
declare
column_exists exception;
pragma exception_init (column_exists , -01430);
begin
execute immediate 'ALTER TABLE TARJETA_FIDELIDAD MODIFY (NUMTARJETA VARCHAR(30))';
exception when column_exists then null;
end;
/
--ATUALIZA A COLUNA ANTIGA COM OS VALORES DA NOVA
declare
dup_val_on_index exception;
except_02291 exception;
pragma exception_init (dup_val_on_index , -00001);
pragma exception_init (except_02291 , -02291);
begin
execute immediate 'UPDATE TARJETA_FIDELIDAD SET NUMTARJETA = NUMTARJETA_BACKUP';
exception
when dup_val_on_index then null;
when except_02291 then null;
end;
/
-- ALTER TABLE DROP COLUMN
declare
object_exists exception;
except_00904 exception;
pragma exception_init (object_exists , -01430);
pragma exception_init (except_00904 , -00904);
begin
execute immediate 'ALTER TABLE TARJETA_FIDELIDAD DROP COLUMN NUMTARJETA_BACKUP';
exception
when object_exists then null;
when except_00904 then null;
end;

View File

@ -0,0 +1,47 @@
--CRIA NOVA COLUNA
DO $$
BEGIN
ALTER TABLE TARJETA_FIDELIDAD ADD (NUMTARJETA_BACKUP VARCHAR(30));
EXCEPTION WHEN duplicate_column THEN NULL;
END
$$;
/
-- COPIA OS VALORES
DO $$
BEGIN
UPDATE TARJETA_FIDELIDAD SET NUMTARJETA_BACKUP = NUMTARJETA;
EXCEPTION WHEN duplicate_column THEN NULL;
END
$$;
/
--LIMPA O COLUNA
DO $$
BEGIN
UPDATE TARJETA_FIDELIDAD SET NUMTARJETA = NULL;
EXCEPTION WHEN duplicate_column THEN NULL;
END
$$;
/
--ALTERA A COLUNA
DO $$
BEGIN
ALTER TABLE TARJETA_FIDELIDAD MODIFY (NUMTARJETA VARCHAR(30));
EXCEPTION WHEN duplicate_column THEN NULL;
END
$$;
/
--ATUALIZA A COLUNA ANTIGA COM OS VALORES DA NOVA
DO $$
BEGIN
UPDATE TARJETA_FIDELIDAD SET NUMTARJETA = NUMTARJETA_BACKUP;
EXCEPTION WHEN duplicate_column THEN NULL;
END
$$;
/
-- ALTER TABLE DROP COLUMN
DO $$
BEGIN
ALTER TABLE TARJETA_FIDELIDAD DROP COLUMN NUMTARJETA_BACKUP;
EXCEPTION WHEN duplicate_column THEN NULL;
END
$$;