oracle版本:12.2.0.1.0
在环境中执行以下语句,表中只有一条内容为‘test’的数据,最后数据库中的结果为testplus--。
----------------hany test start 削除可
update testhany set varchartype = 'testplus-'
where varchartype = 'test';
IF SQL%ROWCOUNT = 0 THEN
update testhany set varchartype = 'testplus--'
where varchartype = 'testplus-';
END IF;
------------------hany test end
在我的理解中,如果第一条更新语句成功执行的话,SQL%ROWCOUNT应该为1才对,无论如何都不可能进入第二条更新语句。
但是实际的结果是数据变成了'testplus--'。
如果有大神看出哪里可能出了问题,望不吝赐教。