2011-11-03 32 views
-5

我的要求是先选择一条记录(该记录可能没有主键)并删除相同的记录。选择并删除没有主键信息的记录

下面是流量:

  1. 从表中选择的所有记录。
  2. while(resultset.next()),获取单个记录。
  3. 删除记录。

该代码必须与所有数据库一起工作。因为这将是genric服务。

这是一个java数据库服务。目前它是为Oracle实现的。我们使用ROWID来标识每条记录。但是由于某些数据库没有ROWID和类似的概念,所以它不能用于其他数据库。我想做这个服务泛型。我想申请除ROWID以外的其他逻辑

任何想法?

很多谢谢。

+7

此代码必须与.net和java一起使用吗?你不忘记PHP或C? –

+0

我的建议:进一步研究SQL。您可以在单个查询中执行此操作,无需单独选择然后再删除。 – DaveyDaveDave

+0

为什么不直接针对有问题的行运行删除语句? –

回答

1

而且,鉴于没有唯一标识符,您如何计划识别这一条记录?最好你必须比较所有其他记录,但这不能保证唯一性,即使所有字段都符合你的要求,你仍然可以删除“错误”的记录。

4

DELETE FROM [TABLE]如何与该表的名称?或者,如果您想通过列值等某些条件进行删除,为什么不使用WHERE条款将其直接放入您的声明中?

有一种数据库操作的语言:SQL。在适当的地方使用。

+0

+1,我完全同意 –

+0

或者直接删除表格并用PK或UKC重新创建它:D – StuartLC

1
Delete from table 
where somefield = 'somevalue'