sqlite: как обновить данные из одной строки в другую в объединении - PullRequest
1 голос
/ 24 мая 2011

SQLite не поддерживает обновления с объединениями. (см. этот тесно связанный с этим вопрос )

Допустим, у меня есть таблица data с этими столбцами:

INTEGER id
TEXT foo
TEXT bar
TEXT baz

и у меня есть другая таблица selection с одним столбцом INTEGER id.

Я хотел бы получить целочисленный идентификатор srcID, чтобы скопировать значения foo и bar из строки data строки в строки data, где идентификаторы соответствуют таблице выбора.

В «стандартном» SQL (или, по крайней мере, в варианте MySQL) это что-то вроде

UPDATE data, selection, data as src
  SET data.foo = src.foo, data.bar = src.bar
  WHERE data.id = selection.id
  AND src.id = ?

(? = подготовленное значение оператора установлено на srcID)

Есть предложения?

1 Ответ

0 голосов
/ 25 мая 2011

В прошлый раз, когда я использовал Oracle, я не думаю, что он также поддерживал ваш синтаксис.

Я не понимаю, как вы могли бы сделать это с помощью одной команды SQL в SQLite, но рассматривали ли вы использование триггера UPDATE для таблицы данных?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...