Varios updates ao mesmo tempo

10/08/2011

0

Boa Tarde
Gostaria de saber se tem como executar varios updates de uma unica vez no firebird 2.0 ou 2.1
a situação é a seguinte:
tenho a tabela TESTE com os seguintes campos:
nome      funcao         idade         sexo        salario
jose         null              null            null          null
fred         null              null            null          null
joao         null              null            null          null


gostaria de executar um update com as seguintes informaçoes:
update TESTE set funcao= 'chefe ' , idade= '30 ' , sexo= 'M' , salario= '2000' where nome= 'jose ';
update TESTE set funcao= 'estagiario ' , idade= '18 ' , sexo= 'M' , salario= '800' where nome= 'fred ';
update TESTE set funcao= 'auxiliar' , idade= '22 ' , sexo= 'M' , salario= '1200' where nome= 'joao ';

quando mando executar me retorna o seguinte erro:
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 2, column 1.
update.

alguem ae poderia me dar essa força

att
Dalveson Sanches

Dalveson Sanches

Responder

Posts

10/08/2011

Wilson Junior

Ao contrário das ferramentas de gerenciamento do BD, os SQLs devem ser executados separadamente.

Espero ter colaborado.
Responder

10/08/2011

Dalveson Sanches

Ao contrário das ferramentas de gerenciamento do BD, os SQLs devem ser executados separadamente.

Espero ter colaborado.


entao com isso vc quer dizer que é possivel executar apenas um por um os updates e nao em conjunto
Responder

10/08/2011

Wilson Junior

Sim. No teu exemplo, serão 3 execuções de SQLs.

Espero ter colaborado.
Responder

10/08/2011

Dalveson Sanches

Sim. No teu exemplo, serão 3 execuções de SQLs.

Espero ter colaborado.


hum ok
mais existiria alguma outra maneira de fazer esse update sem que fosse um a um, pois o banco ao qual tenho que fazer esse update tem uns 30 mil registros, um a um vai ser duro
Responder

10/08/2011

Wilson Junior

Tente utilizar IN ao invés de igual assim:
update TESTE set funcao= 'chefe ' , idade= '30 ' , sexo= 'M' , salario= '2000' where nome IN ('jose', 'Pedro', 'Maria');


Espero ter colaborado.
Responder

15/08/2016

Mauro Magalhães

Tente fazer como o exemplo

UPDATE
Table1
SET
Field1 = Table2.Field1,
Field2 = Table2.Field2,
other columns...
FROM
Table2
WHERE
Table1.ID = Table2.ID
Responder

25/04/2020

Caique Alves

cara estou com o mesmo problema :/
Responder

26/04/2020

Emerson Nascimento

mais existiria alguma outra maneira de fazer esse update sem que fosse um a um, pois o banco ao qual tenho que fazer esse update tem uns 30 mil registros, um a um vai ser duro


qual é o problema em fazer um de cada vez?
de onde você obtém os valores com os quais vai atualizar os registros? em teoria, basta fazer um loop.


Responder

17/08/2020

Washington Roberto

Boa Tarde
Gostaria de saber se tem como executar varios updates de uma unica vez no firebird 2.0 ou 2.1
a situação é a seguinte:
tenho a tabela TESTE com os seguintes campos:
nome      funcao         idade         sexo        salario
jose         null              null            null          null
fred         null              null            null          null
joao         null              null            null          null


gostaria de executar um update com as seguintes informaçoes:
update TESTE set funcao= 'chefe ' , idade= '30 ' , sexo= 'M' , salario= '2000' where nome= 'jose ';
update TESTE set funcao= 'estagiario ' , idade= '18 ' , sexo= 'M' , salario= '800' where nome= 'fred ';
update TESTE set funcao= 'auxiliar' , idade= '22 ' , sexo= 'M' , salario= '1200' where nome= 'joao ';

quando mando executar me retorna o seguinte erro:
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 2, column 1.
update.

alguem ae poderia me dar essa força

att





Coloca ponto e virgula ( ; )no final de cada um UPDATE já resolve ---- Espero ter ajudado
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar