Insert Into utilizando o SQL

SQL

Delphi

20/10/2016

Boa noite a todos!!
Estou com uma duvida, tem algum comando ou o próprio insert no SQL, que eu consiga inserir varias linhas sem precisar criar vários insert?

to usando o seguinte comando:

insert into cadastro_composicao (idcomposicao, compnome) values (5, '99% ALGODAO 01% ELASTANO');


Ate ai tudo bem. Mais quando eu quero inserir varias linhas ele nao faz o processo. Estou fazendo da seguinte forma:

insert into cadastro_composicao (idcomposicao, compnome) values (6, '67% VISCOSE 33% ALGODAO');
insert into cadastro_composicao (idcomposicao, compnome) values (7, '69% ALGODAO 31% POLIESTER');
insert into cadastro_composicao (idcomposicao, compnome) values (8, '100% POLIESTER');
insert into cadastro_composicao (idcomposicao, compnome) values (9, '60% ALGODAO 17% POLIESTER 03% ELASTANO');
insert into cadastro_composicao (idcomposicao, compnome) values (10, '67% ALGODAO 30% POLIESTER 03% ELASTANO');


Estou usando o firebird 2,5 e o ibexpert

De um em um da certo, mais se coloco varias linhas pra inserir varios ao mesmo tempo da erro:

Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 2, column 1.
insert.

O que estou fazendo de errado. :/
Rubens Pena

Rubens Pena

Curtidas 0

Melhor post

Diego Silva

Diego Silva

21/10/2016

Opa amigo, qual banco de dados você está utilizando?
GOSTEI 1

Mais Respostas

Alison Ferreira

Alison Ferreira

20/10/2016

da forma que você está colocando deveria funcionar, funciona em MySQL e DB2 pelo menos que são os bancos que com que trabalho.
pode ser uma limitação do ibexpert relacionado a resposta da execução.
GOSTEI 0
Diego Silva

Diego Silva

20/10/2016

Esse ibexpert é um banco de dados? Se for não conhecia...
GOSTEI 0
Luiz Santos

Luiz Santos

20/10/2016

Rubens, boa noite.
Tente fazer assim:


insert into cadastro_composicao (idcomposicao, compnome) 
values 
(5, '99% ALGODAO 01% ELASTANO'),
(6, '67% VISCOSE 33% ALGODAO'),
(7, '69% ALGODAO 31% POLIESTER'),
(8, '100% POLIESTER'),
(9, '60% ALGODAO 17% POLIESTER 03% ELASTANO'),
(10, '67% ALGODAO 30% POLIESTER 03% ELASTANO');



É apenas uma sugestão, levanto em conta só o banco.
Como você está utilizando DELPHI, não sei como você está montando sua QueryString.

Grande abraço.
GOSTEI 0
Raylan Zibel

Raylan Zibel

20/10/2016

[IMG]http://thumbnails116.imagebam.com/51084/13bafb510838907.jpg[/IMG]
GOSTEI 0
Raylan Zibel

Raylan Zibel

20/10/2016

http://thumbnails116.imagebam.com/51084/13bafb510838907.jpg
GOSTEI 0
Luiz Santos

Luiz Santos

20/10/2016

Diego, o IBExpert é um front end para bancos Inter Base e Firebird.
GOSTEI 0
Rubens Pena

Rubens Pena

20/10/2016

Boa noite amigos, tentei todos os métodos passado por vocês e nada, continua na mesma, o comando so aceita fazer um por vez, nao aceita fazer vários como informado no inicio do tópico.

Estou usando o banco de dados IBExpert / Firebird 2,5 e Delphi xe10

sera que e por causa da versão do IBExpert, 2016.9.4.1
GOSTEI 0
Rubens Pena

Rubens Pena

20/10/2016

Boa tarde pessoal, depois de uma ajuda externa do forum DEV MEDIA e um puxão de orelha em mim, dado por meu amigao por eu não esta lendo o erro passado pelo ibexpert, consegui resolver o meu problema, e vou passar a vocês a solução.

Pois bem o erro que estava aparecendo era esse, ao tentar rodas mais de uma linha de comando:

http://prntscr.com/cxk4j4

por eu nao esta lendo a mensagem de erro, nunca ia saber o real motivo do erro. A solução para esse problema era dizer pra ele fazer o comando no banco de dados corrente, no meu caso o IBExpert. O que eu tinha que fazer era marcar a caixa (use current connect - usa a atual conexão) http://prntscr.com/cxk619 e em seguida o F9. Ele me da três opcões:

1. press yes to execute selected part only.
Pressione Sim para executar apenas parte selecionada.
2. press no to execute the entire script.
Pressione Não para executar todo o script.
3. press cancel to cancel the execution
pressione cancelar para cancelar a execução

No caso eu cliquei na opção 2 pra ele executar todo o script. E em seguida dei um Commite.

Pronto, voltei na minha tabela e estava la todos os dados que eu queria inserir.

Então agradeço a todos que me ajudaram.
GOSTEI 0
POSTAR