duvida num insert

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
carlos12
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 123
Registrado em: Qua, 24 Out 2007 4:31 pm
Localização: rio

pessoal preciso inserir vários valores em uma coluna tipo

insert into tabela (campo) values (aqui tenho vários números pra inserir )


daí o que acontece coloquei todos assim

('numeros', 'numeros') e ele retornou toot many large

como posso vazer esse insert de vários valores em uma coluna?
Dulima-SP
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 193
Registrado em: Qui, 24 Jan 2008 1:56 pm
Localização: SP
Dulima

DBA Oracle Jr

você esta Concatenado esse Valores???


Se você separar somente por Vírgula, vai dar erro mesmo!!!
carlos12
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 123
Registrado em: Qua, 24 Out 2007 4:31 pm
Localização: rio

teria que coloca-los assim (123||124||567) é isso?
carlos12
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 123
Registrado em: Qua, 24 Out 2007 4:31 pm
Localização: rio

mas ai todos os números ficaram um do lado do outro e eu preciso que eles fiquem um em cada linha
Dulima-SP
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 193
Registrado em: Qui, 24 Jan 2008 1:56 pm
Localização: SP
Dulima

DBA Oracle Jr

Eu desconheço....

não sei se e Possivel....
pelo o que entendi você quer inserir em uma coluna varios valores.... masi quer que esses campos fiquem em colunas Diferentes......

Acho impossivel....


qual a real finalidade, talvez possa te ajudar de outra forma!!1
Avatar do usuário
TBou
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 136
Registrado em: Qui, 05 Ago 2004 9:33 am
Localização: Campo Grande - MS
Thiago Bourscheidt
thiago.info@apoiorural.com.br
Analista de Sistemas

pelo que eu estou vendo você precisa dar varios inserts um para cada numero que você quer...
por exemplo você pode inserir todos os valores em um vetor dai dar um loop no vetor dando o insert na tabela.
agora inserir varios registros de uma só vez eu desconheço.
a menos que estes numeros que você quer inserir retornem de uma select
EX:

Selecionar tudo

INSERT INTO TABELA1 (CD_CODIGO) SELECT CD_NUMEROS FROM TABELA2
neste caso sim vai inserir na TABELA1 o numero de registros que retornar da select.
galluzzo
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 5
Registrado em: Qua, 07 Mai 2008 4:30 pm
Localização: Rio de Janeiro

Existe o comando

Selecionar tudo

INSERT INTO T1(a1,a2) SELECT a1, a2 FROM T2
Sendo que os valores do SELECT devem ser obrigatoriamente do mesmo tipo dos da tabela que você vai inserir. Mas esse é o caso de você ter esses dados em uma tabela. O que aconteceu comigo foi ter que inserir 20000 registros de uma tabela em excel.

Eis minha solução:

Copiei para um txt os valores , criei um programa em JAVA para ler o txt e os valores de cada linha formava um INSERT simples, escrevendo num outro txt. Após isso é só mandar rodar o script gerado(os 20000 INSERTS), eu utilizei o TOAD para rodar o script, mas pode-se usar o SQLLOADER

http://www.orafaq.com/wiki/SQL*Loader_FAQ - nesse endereço explica como usar.
galluzzo
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 5
Registrado em: Qua, 07 Mai 2008 4:30 pm
Localização: Rio de Janeiro

http://download.oracle.com/docs/cd/B193 ... m#i2145420

Para saber tudo sobre INSERT do oracle!
Responder
  • Informação