【发布时间】:2016-04-06 07:58:24
【问题描述】:
我知道您可以通过使用在查询中插入多行
INSERT ALL
INTO mytable (column1, column2, column_n) VALUES (?,?,?)
INTO mytable (column1, column2, column_n) VALUES (?,?,?)
INTO mytable (column1, column2, column_n) VALUES (?,?,?)
SELECT * FROM dual;
是否还有基于值的更新方法?所以会是这样的
UPDATE ALL
SET mytable (column1, column2, column_n) VALUES (?,?,?)
SET mytable (column1, column2, column_n) VALUES (?,?,?)
SET mytable (column1, column2, column_n) VALUES (?,?,?)
WHERE ID= ?
SELECT * FROM dual;
例如我有一个评论表
reviewid bookid authorname authoremail
1 1 peter wdwdd
2 1 jane dwdwdw
3 1 mary dwdw
是否可以在 bookid = "1" 的情况下进行多次更新?
【问题讨论】:
-
我不完全理解你的问题,但也许你只需要update
-
我不明白。您是否尝试将多行更新为相同的值或不同的值?您可以在更新之前和之后添加示例表数据吗?
-
使用此链接orafaq.com/node/2450
-
仍然不清楚,部分原因是您没有显示绑定值或表格之后的样子。你提议的
update all有三组绑定变量,那它们是什么?似乎假设给定的bookid恰好有三行,并暗示您希望用不同的值更新每一行 - 但它如何知道哪些值用于哪一行?如果您将它们全部设置为相同的值,那么简单的update有什么问题?
标签: sql oracle sql-update prepared-statement