40 lines
768 B
SQL
40 lines
768 B
SQL
--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
|
|
$$;
|
|
/ |