0

我需要在我的数据库中更新一个数量。我尝试使用更新语句,(触发oracle,不起作用,因为肯定有问题)

我的 sql 字符串是:

String sql1 = "update book set qty = qty - 1 where isbn='" + txt_carr.getText() + "'";  

txt_carr是一个 txtField,我在其中写了一个isbn(用于添加购物车),但数量不会因为精确而改变ISBN

同样在您关闭程序时在购物车中,应该更新数量(即使是固定的,例如 5)

我试过这个:

String sql3= "UPDATE book SET quantity= 5 (select isbn cart where isbn=) ";  

Where isbn= 到您购物车中的所有 isbn。所以它应该只更新购物车中书籍的数量(在表书中),而不是全部。

我知道触发器会更好地工作,但不知道如何编写它。

4

2 回答 2

1

SQL 语法无效:

String sql3= "UPDATE book SET quantity= '5' where book.isbn = 'YOUR_ISBN'";  
于 2014-11-17T12:47:54.903 回答
1

试试这个:

UPDATE book b   SET b.quantity =
      (SELECT COUNT (*)
         FROM cards c
        WHERE c.isbn = b.isbn) WHERE b.isbn = 'YOUR_ISBN';

所以你的代码将是:

String sql1= "UPDATE book b SET b.quantity =(SELECT COUNT (*) FROM card c WHERE c.isbn = b.isbn) WHERE b.isbn = '" + txt_carr.getText() + "' "; 

不:我不确定表名。

于 2014-11-17T13:30:14.163 回答