我需要在删除几本书之前更新它们的数量。 删除发生在这段代码中(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/