Jah 0 Denunciar post Postado Abril 1, 2009 Bom dia, Sou novo no ORACLE e antes trabalhava somente com MySQL e utilizava inserção de múltiplos itens sem precisar utilizar um for para dar vários inserts, utilizando somente string. Então vamos ao que interessa. Gostaria de inserir o seguinte comando: insert into TABLE(COLUMN) values('S124', 'B124', 'O504') Tenho uma coluna com sequence de ID, e uma segunda coluna que é varchar para inserção de itens. Como se fosse ID e NOME por exemplo. Porém ao confirmar o comando, aparece a seguinte mensagem de erro: ORA-00913: valores demais 00913. 00000 - "too many values" E a solução de insert into TABLE(COLUMN) values('S124') insert into TABLE(COLUMN) values('B124') insert into TABLE(COLUMN) values('O504') não é válida pra mim. Se possível gostaria que alguém desse uma força. :rolleyes: Aproveitando, tenho outra perguntinha: Por que o ORACLE muda automaticamente os data types de INT para NUMBER Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
hgb7 3 Denunciar post Postado Abril 1, 2009 ... quer dizer que a tabela que está sendo inserida possui mais colunas do que valores correspondentes. Fonte: http://74.125.47.132/search?q=cache:h22-c8...lient=firefox-a Compartilhar este post Link para o post Compartilhar em outros sites
Jah 0 Denunciar post Postado Abril 1, 2009 ... quer dizer que a tabela que está sendo inserida possui mais colunas do que valores correspondentes. Fonte: http://74.125.47.132/search?q=cache:h22-c8...lient=firefox-a Certo, mas não é lógico. Porque a primeira coluna insere dados automaticamente, não entra valor null, e sim uma sequence number. Para uma query do jeito que precisaria em inserir vários valores neste tipo de coluna, como faria? Valeu Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Abril 1, 2009 A sintaxe do insert Insert into <lista campos> values <lista valores> exige que as duas listas tenham os mesmos tipo e o núnero de elementos da lista seja o mesmo. O que pode ser feito e definir os elementos num array e ler este array para o insert. Exemplo : DECLARE -- lista TYPE T_LISTA IS VARRAY(3) OF VARCHAR2(50); V_LISTA T_LISTA := T_LISTA('1234','2345','3456'); BEGIN FOR i IN 1..V_LISTA.count LOOP INSERT INTO TABELA (COLUNA) VALUES (V_LISTA(i)); END LOOP; END; Compartilhar este post Link para o post Compartilhar em outros sites
Jah 0 Denunciar post Postado Abril 2, 2009 Já entendi a essência, muito obrigado. Compartilhar este post Link para o post Compartilhar em outros sites