【发布时间】:2019-05-22 03:50:43
【问题描述】:
我必须删除所有匹配 ID 的记录,除了一个。没有我可以考虑的 dat 列。数据结构如下:
OBJECT_ID - primary key
DOC_ID
FIRST NAME
LAST NAME
我正在尝试删除与特定数字匹配的所有doc_ID,但通过 jpa 的数字除外。找不到任何 jpa 特定功能。我正在实施 JPARepository。有删除所有,有什么办法可以做到这一点?
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
public User save(User user);
public void deleteAllByDocID(String docID);
}
更新:抱歉不确定数据库:我们正在使用 DB2,我试图写下这些查询:
DELETE FROM USR WHERE OBJ_ID NOT IN (SELECT OBJ_ID FROM USR WHERE DOC_OBJ_ID='91298' FETCH FIRST 1 ROWS ONLY); - this gives me error transaction log is full.
还有这个:
DELETE FROM USR WHERE OBJ_ID NOT IN (SELECT TOP(1) OBJ_ID FROM USR WHERE DOC_OBJ_ID='91298'); - and this give me error TOP is not a function
【问题讨论】:
-
用户获取所有对象,遍历它们,删除所有对象,直到计数为length-2或size-2,完成了吗?
-
@maio290 为什么是-2?
-
@Antoniossss - 哎呀,这是一些想法,如果你使用
-
我试图不遍历记录。
-
@ILRNew,如果您可以在 SQL 中执行此操作,则可以将该 SQL 用作本机查询。
标签: sql spring-boot spring-data-jpa db2 spring-data