Varios updates ao mesmo tempo
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
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
Curtidas 0
Respostas
Wilson Junior
10/08/2011
Ao contrário das ferramentas de gerenciamento do BD, os SQLs devem ser executados separadamente.
Espero ter colaborado.
Espero ter colaborado.
GOSTEI 0

Dalveson Sanches
10/08/2011
Ao contrário das ferramentas de gerenciamento do BD, os SQLs devem ser executados separadamente.
Espero ter colaborado.
Espero ter colaborado.
entao com isso vc quer dizer que é possivel executar apenas um por um os updates e nao em conjunto
GOSTEI 0
Wilson Junior
10/08/2011
Sim. No teu exemplo, serão 3 execuções de SQLs.
Espero ter colaborado.
Espero ter colaborado.
GOSTEI 0

Dalveson Sanches
10/08/2011
Sim. No teu exemplo, serão 3 execuções de SQLs.
Espero ter colaborado.
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
GOSTEI 0
Wilson Junior
10/08/2011
Tente utilizar IN ao invés de igual assim:
Espero ter colaborado.
update TESTE set funcao= 'chefe ' , idade= '30 ' , sexo= 'M' , salario= '2000' where nome IN ('jose', 'Pedro', 'Maria');
Espero ter colaborado.
GOSTEI 0

Mauro Magalhães
10/08/2011
Tente fazer como o exemplo
UPDATE
Table1
SET
Field1 = Table2.Field1,
Field2 = Table2.Field2,
other columns...
FROM
Table2
WHERE
Table1.ID = Table2.ID
UPDATE
Table1
SET
Field1 = Table2.Field1,
Field2 = Table2.Field2,
other columns...
FROM
Table2
WHERE
Table1.ID = Table2.ID
GOSTEI 0

Caique Alves
10/08/2011
cara estou com o mesmo problema :/
GOSTEI 0

Emerson Nascimento
10/08/2011
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.
GOSTEI 0

Washington Roberto
10/08/2011
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
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
GOSTEI 0