oracle - 更新 SQL : how to update several times the same line

标签 oracle sql-update sql-delete

我需要在删除几本书之前更新它们的数量。 删除发生在这段代码中(oracle 有一个名为 ROWNUM 的隐藏列)

DELETE FROM project.cart WHERE isbn = ? and ROWNUM=1;    

一次删除一个ISBN(表中有相同的ISBN)。但更新仅适用于一个 isbn。它应该为找到的所有 isbn 在同一行更新多次。

String sql3= "UPDATE PROject.book SET quantity=quantity +1 WHERE project.book.isbn in "
     + "(SELECT project.cart.isbn FROM project.cart) ";     

// this code work perfectly, but for one time.  

希望你能帮助我。谢谢

最佳答案

你可以试试这个:

String sql3= "UPDATE PROject.book SET quantity=quantity + " 
     + "(select count(*) FROM project.cart where project.cart.isbn = project.book.isbn) " 
     + " WHERE project.book.isbn in (SELECT project.cart.isbn FROM project.cart)";  

关于oracle - 更新 SQL : how to update several times the same line,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27002369/

相关文章:

c# - 更新多行就像批量插入一样

sql-server - 增量删除 - 它有什么好处?

Oracle - 数字到 varchar

mysql - 长时间打开数据库连接和SQL连接查询内存

sql - 从另一个表更新随机行 SQL Server 2014

sql - 尝试删除 SQL 中以 Z 或 z 开头的姓氏

php - 使用 PHP 删除行 - 网页上的 PDO

python - 如何在 sqlalchemy 中移动 Oracle 更新查询的 CTE

.net - Oracle DataAccess - 找不到入口点

postgresql - 如果 Postgres 数据库中的多个列发生冲突,则更新插入