使用NATIVE SQL更新ORACLE表中的多个记录

2020-08-26 04:19发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


您好,先生

我需要使用ABAP的NATIVE SQL更新ORACLE表中的标志。

如果我使用LOOP语句进行更新,则更新将花费更长的时间。

我尝试使用下面的代码。

EXEC SQL。 更新ORACLE_DB

SET FLAG =:'Y'
WORE ORACLE_DB.EMP_NO IN(从ZTABLE中选择EMP_NO,emp_no ='12345')

ENDEXEC。

EXEC SQL。
COMMIT
ENDEXEC。

我收到错误消息,因为"您试图使用数据库中不存在的表或视图的名称"

请帮助我如何实现这一目标。 主要目标是在较短的时间内更新oracle表(外部数据库表)。

谢谢

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


您好,先生

我需要使用ABAP的NATIVE SQL更新ORACLE表中的标志。

如果我使用LOOP语句进行更新,则更新将花费更长的时间。

我尝试使用下面的代码。

EXEC SQL。 更新ORACLE_DB

SET FLAG =:'Y'
WORE ORACLE_DB.EMP_NO IN(从ZTABLE中选择EMP_NO,emp_no ='12345')

ENDEXEC。

EXEC SQL。
COMMIT
ENDEXEC。

我收到错误消息,因为"您试图使用数据库中不存在的表或视图的名称"

请帮助我如何实现这一目标。 主要目标是在较短的时间内更新oracle表(外部数据库表)。

谢谢

付费偷看设置
发送
4条回答
灬番茄
1楼-- · 2020-08-26 04:42

你好

也许是另一种选择。 您是否尝试过cl_sql_statement类传递dml语句?

此致

Igor

nice_wp
2楼-- · 2020-08-26 04:28

我对

:'Y'

:有一个很大的疑问:仅在宿主变量前加上字面量。/p>

尝试以下操作:

 EXEC SQL。
 更新ORACLE_DB
 SET FLAG ='Y'
 在哪里ORACLE_DB.EMP_NO(从ZTABLE中选择EMP_NO,emp_no ='12345')
 ENDEXEC。
 

如果不能解决问题,为了更好地定位问题的根源,请首先确保不存在哪个表:进行两个不同的请求,一个用于ORACLE_DB,一个用于ZTABLE。

# p#

先生,

我需要使用Ztable中的值更新Oracle表。 如果我尝试使用循环进行更新,则将花费更多时间。 这就是为什么我尝试使用子查询进行更新的原因。

 EXECSQL。

 更新ORACLE_DB
 SET FLAG ='Y'WHERE ORACLE_DB.EMP_NO IN(从ZTABLE中选择EMP_NO emp_no ='12345')

 ENDEXEC。

 请提出一些解决方案。  TIA。
追夢秋陽
3楼-- · 2020-08-26 04:34

只是想知道...在表名之前是否需要架构...然后可能需要schema.ztable ...

落灬小鱼
4楼-- · 2020-08-26 04:22

您好 ,

您可以在系统上查看REPORT adbc_demo。 转到SE80并找到报告。 那里有用于类的示例。 在下面的链接上,有人发布了报告的代码,但是您可以在自己的系统中找到原始来源。

https://answers.sap.com /questions/2526319/clsqlstatement-code-sample.html

此致

伊戈尔

一周热门 更多>