Avalados por :

Problemas de actualización de registros con adaptador jdbc PI 7.31: ¿Cómo corregir consultas con múltiples PK?

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

Estimados todos,

Estoy utilizando el adaptador de envío jdbc PI 7.31.

La tabla (TB_AA) tiene 10000 filas con pi_stat = 'R' y luego el adaptador jdbc de envío intentó 10 filas utilizando rownum cada 120 segundos y actualizó la misma fila.

pero el resultado de la consulta de selección y la consulta de actualización eran diferentes. No se actualizó el mismo registro al seleccionar datos.

co_cd, memid son 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

¿La consulta está mal? ¿Cuál es la consulta de actualización correcta con varios PK?

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

4 Respuestas

0
Cargando...

Hola Arten Solohin.

co_cd, memid es la clave primaria.

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

actualizar TB_AA set PI_STAT = 'S', where PI_STAT = 'R' y rownum <= 10

¿Podrías hacer tu consulta con mi consulta anterior? porque me estoy confundiendo con ORDER BY <tu campo de id único> Y LINE_ID ....

se apreciará mucho de antemano

muchas gracias.

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

Así es como lo hago:

SELECT <tus campos> de <tu tabla> donde PI_STAT = 'R' FROM (select * from <tu tabla> WHERE PI_STAT = 'R' ORDER BY <tu campo único id>) WHERE rownum <= 1000

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

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

¿Sabes que para limitar filas mediante una consulta SELECT, se puede controlar maxMsgSize, pero cuando se ejecuta una consulta de actualización, ¿se selecciona la misma fila que la consulta SELECT?

Umm... no lo creo.

¿Hay alguna manera de enviar filas limitadas y actualizar la misma fila limitada mediante una consulta SELECT?

¿Es una función estándar en el adaptador de JDBC del remitente?

¿Cómo se hace esto con SAP PI? Por favor, ayúdame.

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?