Fórum Update em Campos do mesmo nome, porém em tabelas diferentes #396101
21/02/2011
0
Salve salve colegas.
Hoje, me deparei com uma situação inusitada no PostGres. Preciso atualizar dois campos sob o mesmo nome, porém em tabelas diferentes, vejamos.
Tabela: Table_A Campo: st
Tabela: Table_B Campo: st
Logo,
Update table_a As a
Set a.st = -1
,b.st = -1
From table_b As b
Where a.id = b.id
Porém não é aceito o Alias em nenhuma das tabelas, tentei colocar o nome completo: esquema.tabela, sem sucesso.
No Mysql, utilizaria
Update table_a As a, table_b As b
Set a.st = -1
,b.st = -1
Where a.id = b.id.
Isto é possível no PostGres?
Grato desde já.
Hoje, me deparei com uma situação inusitada no PostGres. Preciso atualizar dois campos sob o mesmo nome, porém em tabelas diferentes, vejamos.
Tabela: Table_A Campo: st
Tabela: Table_B Campo: st
Logo,
Update table_a As a
Set a.st = -1
,b.st = -1
From table_b As b
Where a.id = b.id
Porém não é aceito o Alias em nenhuma das tabelas, tentei colocar o nome completo: esquema.tabela, sem sucesso.
No Mysql, utilizaria
Update table_a As a, table_b As b
Set a.st = -1
,b.st = -1
Where a.id = b.id.
Isto é possível no PostGres?
Grato desde já.
Fabiano Abreu
Curtir tópico
+ 0
Responder
Posts
23/02/2011
Jair N.
Bom Dia, acredito que isso seja um "facilitador da linguagem" desconheço esse procedimento tanto em PostgreSQL, Oracle, MSSQL e DB2...
No caso poderia fazer um procedimento de transição tipo a exemplo:
BEGIN;
UPDATE tabela_a SET st = -1 WHERE EXISTS (SELECT id FROM tabela_b WHERE tabela_b.id = tabela_a.id) ;
UPDATE tabela_b SET st = -1 WHERE EXISTS (SELECT id FROM tabela_a WHERE tabela_a.id = tabela_b.id) ;
COMMIT;
No caso poderia fazer um procedimento de transição tipo a exemplo:
BEGIN;
UPDATE tabela_a SET st = -1 WHERE EXISTS (SELECT id FROM tabela_b WHERE tabela_b.id = tabela_a.id) ;
UPDATE tabela_b SET st = -1 WHERE EXISTS (SELECT id FROM tabela_a WHERE tabela_a.id = tabela_b.id) ;
COMMIT;
Responder
Gostei + 0
02/03/2011
Fabiano Abreu
Jair,
Agradeço imensamente sua disposição em me ajudar.
Tive que utilizar uma saída alternativa para o problema, ou seja, realizando dois blocos de atualização.
Grato mais uma vez.
Agradeço imensamente sua disposição em me ajudar.
Tive que utilizar uma saída alternativa para o problema, ou seja, realizando dois blocos de atualização.
Grato mais uma vez.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)