¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Como atualizar uma bandeira no Oracle a partir do ABAP de forma eficiente

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

Olá,

Preciso atualizar uma bandeira na tabela ORACLE usando SQL NATIVO a partir do ABAP.

Se eu usar o comando LOOP e depois atualizar, leva mais tempo para ser concluído.

Tentei usar o código como mostrado abaixo.

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.

Recebo a mensagem de erro 'Você tentou trabalhar com o nome de uma tabela ou vista que não existe no banco de dados'

Por favor, ajude-me a alcançar isso. O objetivo principal é atualizar a tabela do Oracle (tabela de banco de dados externa) em menos tempo.

Obrigado,

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

4 Respuestas

0
Cargando...

Caro,

Por favor, compartilhe um código de exemplo.

Obrigado,

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

Olá,

Talvez como outra opção. Já tentou usar a classe cl_sql_statement para passar a instrução DML?

Saudações,

Igor

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

Apenas por curiosidade... você precisa de um esquema antes do nome da tabela... então talvez seja necessário esquema.tabela...

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

Tenho uma grande dúvida sobre

:'Y'

: é apenas para prefixar variáveis de host, não literais.

Tente isto:

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

Se não resolver, para localizar melhor a origem do problema, primeiro certifique-se de que a tabela não existe: faça duas solicitações distintas, uma para ORACLE_DB e outra 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?