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