从Oracle表中确认删除行

时间:2015-05-15 12:21:37

标签: java sql oracle oracle11g oracle10g

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

DELETE FROM USERS WHERE USERNAME = ?

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

有没有办法得到Oracle的一些确认,在我的Java代码中删除了行?

2 个答案:

答案 0 :(得分:3)

PreparedStatement的

executeUpdate()方法为您提供已删除的行数。如果查询没有删除任何行,您将获得0.我认为这是最简单的解决方案。

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

此致

答案 1 :(得分:0)

您可以使用SQL%ROWCOUNT。它是一个隐式游标,它给出了受SQL语句

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

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