【问题标题】:SAP HANA - Trigger Insert into new table when old table has an insertSAP HANA - 当旧表有插入时触发插入新表
【发布时间】:2019-03-19 16:42:34
【问题描述】:

我正在尝试创建一个触发器,它将 table_A 中的所有新条目插入到另一个架构下的 table_B 中(两个表的精确定义)。

Table_A 每次都会收到数千个插入,因此触发器应该只插入新插入的行数据,而不是每次都包含旧的。

找到了几个适用于 SQL SERVER 的解决方案,但没有一个适用于 SAP HANA。

谢谢。

【问题讨论】:

  • 在这种情况下,什么是“新”条目?如果条目引用 table_A 中已经存在的非唯一键?到目前为止,您尝试了什么(代码!)但没有成功? table_B 的语义是什么?它应该始终包含条目上的最新“版本”还是第一个版本或什么?您使用的是哪个 HANA 版本?
  • 感谢您的宝贵时间,好的,让我解释一下。我有表 A(Name_1,Name_2,Note,Date),该表通过 Python 脚本在每个月的第一天收到数千个插入。我还需要将所有这些新插入的数据插入另一个表(表 B,相同的定义,在另一台服务器上)。日期始终等于每个月的第一天。

标签: sql triggers insert sap hana


【解决方案1】:

Make 2 Procedures Proc1 插入旧表,proc2 插入新表。 使用光标中的新值从 proc1 调用 proc2。要获取新条目,请确保表具有时间戳字段(ex-CREATED_AT),将插入的最后一个值存储在变量中,然后在更新后使用该变量获取并传递给 proc2。

如果您需要相同的代码,请告诉我

【讨论】:

  • 谢谢Ayush,第一个表(表A)的插入已经通过python脚本完成,无法触及。我需要将这些插入转移到第二个表(表 A),只采用新条目。
  • 在这种情况下,从要插入的表(表 B)中获取最后一条记录,使用最后一条记录 ID(或任何其他唯一字段)查询并从现有表中获取所有新字段(表 A) 并进行插入。
猜你喜欢
  • 2015-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-25
  • 1970-01-01
  • 1970-01-01
  • 2018-05-07
  • 1970-01-01
相关资源
最近更新 更多