Importar dados em xls para banco usando plsql developer

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
Deniskywalker
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 8
Registrado em: Ter, 27 Out 2015 7:12 am

Boa tarde a todos!

Tenho alguns dados em uma planilha e preciso importar esses dados para uma tabela no banco de dados.
São mais de 1.000 registros na coluna

Existe uma forma de pegar esses dados da coluna dessa planilha e inserir na minha tabela? É possível fazer usando o PLSQL developer?

Obrigado! :-o
DanielNN
Moderador
Moderador
Mensagens: 641
Registrado em: Seg, 03 Set 2007 3:26 pm
Localização: Fortaleza - CE
att,

Daniel N.N.

Olá Deniskywalker,

Estou com algumas dúvida do que você realmente quer fazer:

1- Você já tem uma tabela e tem uma planilha (que representa as colunas da tabela) e quer inserir os dados na mesma?
2-ou, você quer atualizar os dados da tabela?
3-ou, você quer atualizar só alguma coluna da tabela?
4-ou, você quer criar uma tabela a partir da planilha?

Se for só para inserir (situação 1), você pode consultar a tabela com um "for update" no final, desbloquear a tabela para poder inserir os registros, copiar os dados da sua planilha e colar na tabela. Depois só dá o commit.
Deniskywalker
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 8
Registrado em: Ter, 27 Out 2015 7:12 am

Olá Daniel, bom dia!

Isso mesmo, é o caso 1!

Criei uma tabela com apenas uma coluna do tipo varchar2. Tenho uma planilha com uma coluna, com os registros que devem ser inseridos na tabela. Como são muitos, é inviável fazer o insert de um a um.
Precisava conhecer um método mais simples e eficaz, se houver, é claro.

Obrigado pela dica.
nelson.anchite
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 15
Registrado em: Ter, 07 Out 2014 10:24 am
Contato:

Cara,

Sinceramente acho que não é o melhor modo o que vou te falar, mas funciona.

1. Dê um select for update na sua tabela;
2. Dpos no PL/SQL clique naquele cadeado em cima dos resultados;
3. Copie os dados do xls.
4. Clique na coluna onde você quer inserir os dados e cole.

Vai funcionar já fiz algumas vezes.

Abraço.
Deniskywalker
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 8
Registrado em: Ter, 27 Out 2015 7:12 am

Caro Nelson,

Fiz algo bem parecido.

Usei o ROWID e ele resolver meu problema.

Selecionar tudo

SELECT ROWID, A.* FROM MINHA_TABELA A;
Assim, cliquei no cadeado, inseri as informações e foi.

Obrigado!
nelson.anchite
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 15
Registrado em: Ter, 07 Out 2014 10:24 am
Contato:

Isso aí...no caso funciona da mesma forma ROWID ou for update.
Avatar do usuário
adrianoturbo
Moderador
Moderador
Mensagens: 393
Registrado em: Qui, 20 Mar 2008 4:09 pm
Localização: Brasília
Adriano Alves
---Para cada problema dificil existe uma solução simples.----

Brothers ,existe uma forma prática e rápida para fazer o que precisam : simples façam uma carga de dados no Banco usando SQL LOADER .
Seguinte vamos de How To aqui :
Passo 1
-Na sua planilha adiciona uma coluna entre cada coluna e nessas colunas insira um ponto e virgula(;) para todas as linhas;
-Selecione todas as colunas e linhas do qual quer importar e copie para o bloco de notas e depois salve o bloco de notas com o nome da planilha com a extensão txt;
-Abra um novo bloco de notas crie um arquivo com o nome qualquer com a extensão sql ,sql.sql por exemplo e dentro desse arquivo insira os seguintes parâmetros abaixo e salve

Selecionar tudo

load data
infile 'suaplanilha.txt'
append into table tabela
fields terminated by ';' optionally enclosed by '"'
(coluna1,coluna2,coluna3,coluna4)

Obs1: na linha: infile, 'suaplanilha.txt' é o nome do arquivo da planilha que copiou e salvou em txt
Obs2: na linha: append into table tabela ,deverá ser o nome da tabela do qual quer fazer a carga
Obs3: na linha: (coluna1,coluna2,coluna3,coluna4) ,esses nomes deverão ser substituídos pelos nomes das colunas da sua tabela.

Passo 2
-Crie uma pasta com um nome qualquer no C: do Windows e copie esse dois arquivos com extensão .sql e .txt para essa pasta.
-Abra o prompt de comando com CMD ou DOS para os mais antigos rsrs e dar um cd para pasta criada e dar um DIR para listar os arquivos.

Passo 3
Vamos fazer acontecer estando dentro da pasta com os arquivos
digite a seguinte linha de comando :
sqlldr userid=system@adriano/senha control=sql.sql

Bastar dar um enter e em questões de alguns segundos os dados vão ser importados para a sua tabela.

Bom é isso meus brothers,espero ter ajudado.

Mais informações acessem essa explicação bacana e inglês da Oracle abaixo :
http://docs.oracle.com/cd/B19306_01/ser ... ncepts.htm
nelson.anchite
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 15
Registrado em: Ter, 07 Out 2014 10:24 am
Contato:

Poxa muito bacana...obrigado!!
alexbarbosa
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 1
Registrado em: Seg, 01 Ago 2011 11:24 am
Localização: Batatais SP

De uma olhada nesse link que irá te ajudas bastante.

http://www.alexbarbosa.info/2016/06/29/ ... no-oracle/
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Google [Bot], Majestic-12 [Bot] e 6 visitantes