在插入记录之前,如何检查垂直记录是否已存在

2020-09-09 05:27发布

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

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


亲爱的所有人,

我有一个要求,我需要检查ztable中是否存在现有记录。

如果记录已在ztable中退出,则显示类似"具有相同键的记录已退出的消息,否则我应该插入。"

从表it_delete中插入zdelete_log。

以上我在ztable中插入记录所使用的语句:zdelete_log。实际上,我试图从ztable中删除一条记录,该记录的记录已存在于zdelete_log中。因此,我在此插入查询中获取了转储。我可以使用Modify但 我只想在zdelete_log中插入新记录。

请指导我如何检查记录是否已存在于数据库中。 如果垂直记录已经存在,则无需插入。 否则,插入记录。 如何实现此功能。

致谢

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

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


亲爱的所有人,

我有一个要求,我需要检查ztable中是否存在现有记录。

如果记录已在ztable中退出,则显示类似"具有相同键的记录已退出的消息,否则我应该插入。"

从表it_delete中插入zdelete_log。

以上我在ztable中插入记录所使用的语句:zdelete_log。实际上,我试图从ztable中删除一条记录,该记录的记录已存在于zdelete_log中。因此,我在此插入查询中获取了转储。我可以使用Modify但 我只想在zdelete_log中插入新记录。

请指导我如何检查记录是否已存在于数据库中。 如果垂直记录已经存在,则无需插入。 否则,插入记录。 如何实现此功能。

致谢

付费偷看设置
发送
10条回答
能不能别闹
1楼-- · 2020-09-09 06:14

如果INSERT,UPDATE等可能有一个很小的例外部分,而仅引用打开SQL-异常,这样一眼就能避免误解。 我认为我在文档的其他地方也遇到过类似问题,因为这些信息位于更通用的部分,因此很难找到信息。 (以霍斯特·凯勒

小熊yu生菜
2楼-- · 2020-09-09 06:15

@DATA(lt_existing_rows)创建一个内部表,其中包含 由select语句生成的数据。

路亽曱_Ryan
3楼-- · 2020-09-09 06:16

Hallo 马修·比林汉姆

在链接中,我还读过:

如果在插入嵌入式子查询的结果集时无法插入行(因为具有相同主键的行或 存在相同的唯一二级索引),总是会引发类CX_SY_OPEN_SQL_DB的可捕获异常,并且未设置系统字段sy-subrc。

我已经尝试过它并抛出异常

< p> https://help.sap.com/doc/abapdocu_751_index_htm/7.51/zh- US/abapinsert_dbtab.htm

最诚挚的问候

易卜拉欣

能不能别闹
4楼-- · 2020-09-09 06:17

你好 Deep Bisht

您可以使用try catch来检查记录是否存在而无需选择数据:

 * ...试试 将数据插入数据库

 尝试。
 从表it_delete中插入zdelete_log。
     捕获cx_sy_open_sql_db INTO DATA(lr_exc)。
       消息lr_exc-> get_text()类型'E'。
   ENDTRY。

最诚挚的问候

易卜拉欣

一周热门 更多>