Avalados por :

Problemas de atualização de registros com adaptador jdbc PI 7.31: Como corrigir consultas com múltiplas PK?

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 1 Vistas
0
Cargando...

Prezados todos,

Estou utilizando o adaptador de envio jdbc PI 7.31.

A tabela (TB_AA) possui 10000 linhas com pi_stat = 'R' e então o adaptador jdbc de envio tentou 10 linhas utilizando rownum a cada 120 segundos e atualizou a mesma linha.

mas o resultado da consulta de seleção e da consulta de atualização eram diferentes. Não foi atualizado o mesmo registro ao selecionar dados.

co_cd, memid são PK.

select co_cd, mem_id, reg_n FROM TB_AA where PI_STAT = 'R' AND rownum <= 10

update TB_AA set PI_STAT = 'S' where PI_STAT = 'R' and rownum <= 10

A consulta está errada? Qual é a consulta de atualização correta com vários PK?

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Olá Arten Solohin.

co_cd, memid é a chave primária.

selecionar co_cd, mem_id, reg_n DE TB_AA onde PI_STAT = 'R' E rownum <= 10

atualizar TB_AA set PI_STAT = 'S', onde PI_STAT = 'R' e rownum <= 10

Você poderia fazer sua consulta com minha consulta anterior? porque estou me confundindo com ORDER BY <seu campo de id único> E LINE_ID ....

Agradeço antecipadamente.

Muito obrigado.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Aqui está como eu faço:

SELECT <seus campos> de <sua tabela> onde PI_STAT = 'R' FROM (select * from <sua tabela> WHERE PI_STAT = 'R' ORDER BY <seu campo único id>) WHERE rownum <= 1000

UPDATE <sua tabela> set PI_STAT = 'S' WHERE LINE_ID in† (SELECT LINE_ID FROM (select * from <sua tabela> WHERE PI_STAT = 'R' ORDER BY <seu campo único id>) WHERE rownum <= 1000)

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Você sabia que para limitar linhas em uma consulta SELECT, você pode controlar o maxMsgSize, mas quando você executa uma consulta de atualização, a mesma linha selecionada na consulta SELECT é atualizada?

Hum... Eu não acho.

Existe alguma maneira de enviar linhas limitadas e atualizar a mesma linha limitada através de uma consulta SELECT?

É uma função padrão no adaptador JDBC do remetente?

Como fazer isso com o SAP PI? Por favor, me ajude.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?