我有多行需要更新并插入客户名称。如何在一个查询中执行此操作,而不是使用不同的名称一次又一次地运行类似下面的查询?
UPDATE orders
SET cust_name = 'Sue'
WHERE p_id = 6
答案 0 :(得分:3)
您可以使用类似
的内容 UPDATE mytable
SET myfield = CASE other_field
WHEN 1 THEN 'value'
WHEN 2 THEN 'value'
WHEN 3 THEN 'value'
END
WHERE id IN (1,2,3)
有关详情,请查看Update Multiple Rows With Different Values and a Single SQL Query
答案 1 :(得分:0)
你也不需要。您通常可以做的是使用带有占位符的预准备语句来表示变量,并使用参数元组列表执行。根据语言,数据库适配器和数据库,这可以在“批处理”模式下执行,这非常有效。
更高精度需要有关您正在使用的语言,数据库和数据库适配器的更多信息。