Created
November 11, 2013 12:31
-
-
Save marcosvidolin/7412516 to your computer and use it in GitHub Desktop.
Cópia de dados entre duas tabelas
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Este comando efetua a cópia de dados entre duas tabelas dentro de um mesmo banco, ou entre bancos diferentes. | |
Muito útil para equalizar dados para testes, simulações de erros, etc... | |
A sintaxe é: | |
COPY FROM <db> TO <db> <opt> <tbl> {<<cls>>} USING <sel> | |
Onde: | |
<db> : string de banco de dados, ex.: usuário/senha@banco1 | |
<opc>: Uma das palavras chaves: APPEND, CREATE, INSERT ou REPLACE | |
<tbl>:Nome da tabela de destino. | |
<cls>:Lista de sinônimos de colunas separadas por virgulas | |
<sel>: Qualquer instrução SQL SELECT valida. Lembrando que o resultado deve conter a mesma estrutura da tabela destino. | |
Descrição das palavras chaves. | |
· CREATE – se o nome de destino já existir, uma mensagem de erros sera exibida. | |
· REPLACE – se a tabela de destino já existir ela será "dropada" e criada novamente e os dados serão copiados. | |
· INSERT – Se a tabela de destino existir, os dados serão copiados. | |
· APPEND – Realiza o Insert em uma tabela que já contém dados. | |
Exemplo: | |
SQL> COPY FROM usuario/senha@BANCO1 TO usuario/senha@BANCO2 CREATE TABELA_DESTINO USING SELECT * FROM TABELA_ORIGEM ; | |
Vale ressaltar que podemos fazer isso para o mesmo banco de dados, no caso da tabela conter campo LONG essa é uma boa opção. | |
Estes comando é rodado através de uma Command Window ou através do sql*plus. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment