【问题标题】:Partial Data deletion from SLT table从 SLT 表中删除部分数据
【发布时间】:2020-03-09 05:44:45
【问题描述】:

我需要从 VBFA 表中删除数据,该表是一个 SLt 表。我们需要删除 2017 年 10 月之前的数据。 我们如何才能实现这一点,因为我们拥有的唯一日期是 MJAHR,它是材料文档年份和创建记录的 ERDAT 日期。

我们如何删除 2017 年 10 月之前的数据

【问题讨论】:

    标签: datatable sql-delete hana hana-sql-script hana-studio


    【解决方案1】:

    [VBFA][1](SAP 销售文档流表和数据)包含两个字段,用于跟踪记录的创建时间 (ERDAT) 和上次更改时间 (AEDAT)。

    你描述需求的方式,我是这样理解的:

    • 应从中删除数据的表是 HANA 数据库中的复制(通过 SLT 复制)表,它不是实际的事务系统。

    • 应从该表中删除在 2017 年 10 月 1 日之前(但不包括)最后一次更改的所有记录。

    如果正确,您可以像这样运行DELETE 语句:

        DELETE FROM "VBFA" WHERE "AEDAT" < '20171001'
    

    请注意,这只会影响此表,不会影响其他表中的任何相关记录。另外,如果表是分区的,请注意此命令不会删除删除后可能为空的分区。

    【讨论】:

    • 不知道为什么,但在这种情况下选择计数,显示datable中的所有数据
    • 好的,有多少条记录符合WHERE子句中的条件?
    • 几乎所有的记录只剩下几千条记录。如果将日期值从 oct 减少到 sep 记录数只会增加。
    • 成功DELETE后计数不变?您可能希望将有关您运行的所有命令的详细信息添加到问题中。
    • 我运行命令“select count(*) from VBFa where "AEDAT"
    猜你喜欢
    • 2018-05-18
    • 2014-02-15
    • 2017-12-06
    • 2018-08-30
    • 1970-01-01
    • 1970-01-01
    • 2014-12-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多