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á.
Fabiano Abreu

Fabiano Abreu

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;


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.
Responder

Gostei + 0

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

Aceitar