Concha 0 Denunciar post Postado Maio 4, 2011 All, Estou com o seguinte problema : preciso fazer um update na tabela ultimo_status nas coluna 1, 2, e 3, o conteúdo das colunas devem ser preenchidos com conteúdos constantes na tabela "rejeitados" , o relacionamento entre as tabelas é o id_num, mas na rejeitados temos multiplas linhas do id_num. Cada registro da ultimo_status deve ser atualizado com a linha que correspondente na rejeitados desde que seja o registro de maior data. Tentei fazer o update abaixo e estou tomando uma surra !!!! update TB_INTELIG_ULTIMO_STATUS a set (DAT_RET, MOTIVO, CRITICA) = (select max(b.DATRET),b.MOTIVO, b.CRITIC from REJ_RET_TEMP_INTELIG b where a.acesso = numera group by b.MOTIVO, b.CRITIC )c where a.MOTIVO not in ('A','F','M','P','R') Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Maio 4, 2011 Não rola, faça um bloco plsql begin for r in (select max(b.DATRET) DAT_RET,b.MOTIVO, b.CRITIC from REJ_RET_TEMP_INTELIG b where a.acesso = numera group by b.MOTIVO, b.CRITIC ) loop update TB_INTELIG_ULTIMO_STATUS a set DAT_RET = r.DAT_RET, MOTIVO = r.MOTIVO , CRITICA = r.CRITICA where a.MOTIVO not in ('A','F','M','P','R') end loop; end; Ou três set/select (um para cada campo) Compartilhar este post Link para o post Compartilhar em outros sites