Oracle sql 仅当 id 存在时更新,否则 return 一条错误消息
Oracle sql update only if id exist else return an error message
在 mongoDB 我记得有一个 findOneAndUpdate 查询。我们是否有或至少可以在 oracle sql 中创建一个查询,该查询仅在记录存在时更新记录,否则 return 将显示未找到数据的消息?我在下面尝试了这个查询,但是当找到结果时它会更新所有记录:
UPDATE
user
SET
fname=:lname,
lname=:fname
WHERE
EXISTS (
SELECT * FROM user WHERE id=:id
)
不就是吗
update t_user set
fname = :lname,
lname = :fname
where id = :id;
如果没有任何更新,它不会 return 出错,所以 - 如果它实际上是一个 PL/SQL 程序,你必须自己检查,例如(就在上面 UPDATE
语句的后面):
if sql%rowcount = 0 then
dbms_output.put_line('No rows have been updated');
end if;
在 mongoDB 我记得有一个 findOneAndUpdate 查询。我们是否有或至少可以在 oracle sql 中创建一个查询,该查询仅在记录存在时更新记录,否则 return 将显示未找到数据的消息?我在下面尝试了这个查询,但是当找到结果时它会更新所有记录:
UPDATE
user
SET
fname=:lname,
lname=:fname
WHERE
EXISTS (
SELECT * FROM user WHERE id=:id
)
不就是吗
update t_user set
fname = :lname,
lname = :fname
where id = :id;
如果没有任何更新,它不会 return 出错,所以 - 如果它实际上是一个 PL/SQL 程序,你必须自己检查,例如(就在上面 UPDATE
语句的后面):
if sql%rowcount = 0 then
dbms_output.put_line('No rows have been updated');
end if;