¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Cómo actualizar una bandera en Oracle desde ABAP de forma eficiente

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

Hola,

Necesito actualizar una bandera en la tabla ORACLE usando SQL NATIVO desde ABAP.

Si uso la declaración LOOP y luego actualizo, tarda más tiempo en actualizarse.

He intentado usar el código como se muestra a continuación.

EXEC SQL. UPDATE ORACLE_DB

SET FLAG = :'Y'
WHERE ORACLE_DB.EMP_NO IN ( SELECT EMP_NO FROM ZTABLE WHERE emp_no = '12345' )

ENDEXEC.

EXEC SQL.
COMMIT
ENDEXEC.

Recibo el mensaje de error 'Ha intentado trabajar con el nombre de una tabla o vista que no existe en la base de datos'

Por favor, ayúdame a lograr esto. El objetivo principal es actualizar la tabla de Oracle (tabla de base de datos externa) en un menor tiempo.

Gracias,

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

4 Respuestas

0
Cargando...

Estimado,

Por favor compárteme un código de ejemplo.

Gracias,

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

Hola,

Tal vez como otra opción. ¿Intentaste usar la clase cl_sql_statement para pasar la instrucción DML?

Saludos,

Igor

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

Solo por curiosidad... ¿necesitas esquema antes del nombre de la tabla... entonces tal vez se necesite esquema.ztabla...

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

Tengo una gran duda sobre

:'Y'

: es solo para prefijar variables de host, no literales.

Prueba esto:

EXEC SQL.
UPDATE ORACLE_DB
SET FLAG = 'Y'
WHERE ORACLE_DB.EMP_NO IN ( SELECT EMP_NO FROM ZTABLE WHERE emp_no = '12345' )
ENDEXEC.

Si no resuelve, para localizar mejor el origen del problema, primero asegúrate de qué tabla no existe: haz dos solicitudes distintas, una para ORACLE_DB y otra para ZTABLE.

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?