db2:从表中选择而不替换

db2:从表中选择而不替换,db2,Db2,您好,我只想问一个简单的问题——在DB2中有没有办法从表中选择一行(无论是基于联接还是随机选择的行),然后再次从同一个表中选择最后一行,或者不能选择任何前面的行 我想我必须在表中的每一行循环我的代码,并删除我选择的每一行,但是如果有人有其他解决方案,我会感兴趣的。不需要代码,而是描述另一种方法 谢谢 Arron您可以使用光标,并使用名为“定位删除”的“删除当前位置”功能。有关更多信息: 第55页 您可以使用光标,并使用名为“定位删除”的“删除当前位置”功能。有关更多信息: 第55页 最简

您好,我只想问一个简单的问题——在DB2中有没有办法从表中选择一行(无论是基于联接还是随机选择的行),然后再次从同一个表中选择最后一行,或者不能选择任何前面的行

我想我必须在表中的每一行循环我的代码,并删除我选择的每一行,但是如果有人有其他解决方案,我会感兴趣的。不需要代码,而是描述另一种方法

谢谢


Arron

您可以使用光标,并使用名为“定位删除”的“删除当前位置”功能。有关更多信息:

  • 第55页

您可以使用光标,并使用名为“定位删除”的“删除当前位置”功能。有关更多信息:

  • 第55页

    • 最简单的方法是声明一个游标,从表中选择所有行,然后处理 每次光标移动一行。每一行将被精确地选择一次(这几乎就是光标的全部内容)

      我怀疑这不是你想要的答案。在这方面,您很可能至少有两个其他限制 选择问题:

      • 在处理整个表之前,您不希望或不能打开一个游标
      • 您希望在选择行的顺序方面具有某种“随机性”
      无法在单个游标下打开和处理整个表的问题可以通过以下方法解决: 在选择之间维护某种“状态”信息。“状态”可用于确定行 仍有资格在后续查询中选择。您可以将另一列添加到表中以保存“selected” 那一排的状态。插入行时,其“选定”状态设置为“否”。在每个操作上选择状态 所选行的名称将更新为“是”。当select_STATE='no' 添加到它以取消以前选择的行的资格。如果无法更改所选表格的结构 从中,然后添加第二个表,该表与选择表具有相同的主键加上“选定”指示符,然后加入 这些表用于获取所需的状态信息

      另一种方法是在选定行后删除该行

      这些或类似类型的状态管理可用于解决选择资格问题

      如果您需要在选择过程中引入随机性(即,使其变得困难),请猜猜是什么 下一个要选择的行将是),然后您有一个非常不同的问题要解决。如果是这样的话 请提出一个新问题,概述表的大致大小(行数)以及键结构
      是(例如,一个介于1和100000之间的数字,一个30个字符的名称等)

      执行此操作的最简单方法是声明一个游标以选择表中的所有行,然后处理 每次光标移动一行。每一行将被精确地选择一次(这几乎就是光标的全部内容)

      我怀疑这不是你想要的答案。在这方面,您很可能至少有两个其他限制 选择问题:

      • 在处理整个表之前,您不希望或不能打开一个游标
      • 您希望在选择行的顺序方面具有某种“随机性”
      无法在单个游标下打开和处理整个表的问题可以通过以下方法解决: 在选择之间维护某种“状态”信息。“状态”可用于确定行 仍有资格在后续查询中选择。您可以将另一列添加到表中以保存“selected” 那一排的状态。插入行时,其“选定”状态设置为“否”。在每个操作上选择状态 所选行的名称将更新为“是”。当select_STATE='no' 添加到它以取消以前选择的行的资格。如果无法更改所选表格的结构 从中,然后添加第二个表,该表与选择表具有相同的主键加上“选定”指示符,然后加入 这些表用于获取所需的状态信息

      另一种方法是在选定行后删除该行

      这些或类似类型的状态管理可用于解决选择资格问题

      如果您需要在选择过程中引入随机性(即,使其变得困难),请猜猜是什么 下一个要选择的行将是),然后您有一个非常不同的问题要解决。如果是这样的话 请提出一个新问题,概述表的大致大小(行数)以及键结构 是(例如,一个介于1和100000之间的数字,一个30个字符的名称等)