Caba da TI

Caba da TI

Como criar uma cópia exata de uma tabela copiando tanto sua estrutura quanto seus dados no Oracle

Criar uma cópia de uma tabela pode ser útil, dentre outras coisas, para quando vamos fazer alterações na tabela para testes e não queremos perder os dados originais. Para criar a cópia de uma tabela utilizando SQL é bem simples, basta utilizar a instrução CREATE TABLE AS, como no exemplo a seguir:

-- essa instrução cria a tabela MINHA_TABELA_BKP, contendo tanto a 
-- estrutura quanto os dados de MINHA_TABELA
CREATE TABLE MINHA_TABELA_BKP AS SELECT * FROM MINHA_TABELA;

Também é possível utilizar a mesma instrução para criar a tabela com um select personalizado, para conter tanto dados diferentes quanto colunas diferentes da tabela principal

-- essa instrução cria a tabela MINHA_TABELA_BKP, contendo somente 
-- a COLUNA_A e COLUNA_B da tabela MINHA_TABELA e com somente 
-- os registros com ID menor que 10
CREATE TABLE MINHA_TABELA_BKP AS 
    (SELECT COLUNA_A, COLUNA_B FROM MINHA_TABELA WHERE ID < 10);

Para criar uma tabela co estrutura diferente ou com dados diferentes da tabela original, ou mesmo a partir de uma consulta, veja este post: Como criar uma tabela a partir de uma consulta específica no Oracle

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *