Обновление нескольких строк с разными значениями в одном SQL-запросе

У меня есть база данных SQLite с таблицей myTableи столбцами id, posX, posY. Количество строк постоянно меняется (может увеличиваться или уменьшаться ). Если я знаю значение idдля каждой строки и количество строк, могу ли я выполнить один SQL-запрос, чтобы обновить все поля posXи posYс разными значениями в соответствии с идентификатором?

Например:

---------------------
myTable:

id   posX    posY

1      35     565
3      89     224
6      11     456
14     87     475
---------------------

Псевдокод SQL-запроса:

UPDATE myTable SET posX[id] = @arrayX[id], posY[id] = @arrayY[id] "

@arrayXи @arrayY— это массивы, в которых хранятся новые значения для полей posXи posY.

Если, например, arrayXи arrayYсодержат следующие значения:

arrayX = { 20, 30, 40, 50 }
arrayY = { 100, 200, 300, 400 }

... то база данных после запроса должна выглядеть вот так:

---------------------
myTable:

id   posX    posY

1      20     100
3      30     200
6      40     300
14     50     400
---------------------

Это возможно? Сейчас я обновляю одну строку для каждого запроса, но по мере увеличения количества строк потребуются сотни запросов. Кстати, я делаю все это в AIR.

26
задан alex 15 July 2018 в 21:01
поделиться