从 Oracle table 确认删除行

Delete row with confirmation from Oracle table

我有一个用于删除用户的 SQL 查询。

DELETE FROM USERS WHERE USERNAME = ?

问题是我不知道是否有任何行成功行删除。我总是在最后取得成功。

是否有任何方法可以从 Oracle 那里获得一些确认,即在我的 Java 代码中删除了行?

您可以使用 SQL%ROWCOUNT。它是一个隐式游标,给出受SQL语句影响的行数

declare
begin
DELETE FROM USERS WHERE USERNAME = ?;
dbms_output.put_line('Total Deleted:' ||sql%rowcount);
end;

这将为您提供删除的行数。

PreparedStatement 的 executeUpdate() 方法为您提供行数 deleted.If 查询未删除任何行 您得到 0.I 认为这是最简单的解决方案。

如果您需要知道哪些行已被删除,您可以使用 "Returning" 子句,这将为您删除行。

此致