大型机COBOL db2删除程序

Mainframe COBOL db2 delete program

详细问题是我的下一个问题 -- 请查看下方 link

DB2/Cursor program working in cobol

这应该是一个两步过程。首先确定要删除的记录,然后在第 2 步中删除这些记录。我认为,您将无法从您正在获取的 table 中删除记录,这就是为什么需要 2 个步骤。

第 1 步:

Select Concat(A.ClientId, A.PhoneNumber, A.Timestamp) from MyTable A
 Where Concat(A.ClientId, A.PhoneNumber, A.Timestamp)
Not IN (Select Concat(B.ClientId, B.PhoneNumber, Min(B.Timestamp))
    from MyTable B
    Group by B.ClientId, B.PhoneNumber);

第 2 步:

Delete from MyTable
 Where Concat(A.ClientId, A.PhoneNumber, A.Timestamp) IN (all the values you got from Step1);

您可以运行第 1 步,创建一个数据集以获取所有值并在第 2 步中使用该数据集。如果您运行宁动态,那么剪切粘贴就可以了,否则你必须使用 SORT 修改数据集才能从中创建查询。那将是第 1 步和第 2 步中间的另一个步骤。

.