Обновление строк из списка значений

#sql #db2

#sql #db2

Вопрос:

Я пытаюсь обновить тысячу или около того строк в таблице DB2, используя списки значений в электронной таблице Excel. Электронная таблица содержит три основных столбца данных, два из которых определяют, какая строка в таблице необходима, а третья строка в электронной таблице соответствует неправильным записям в таблице базы данных, которые необходимо обновить. Я могу легко определить и выбрать соответствующие строки, однако я не уверен, как обновить эти строки из списка значений.

Таблица:

   ...  ID_1      ID_2       STATUS   ...
       1234      2345         A
       4321      5423         B
  

Электронная таблица:

 ID_1       ID_2     STATUS 
1234       2345       B
4321       5423       A  
  

Для выбора записей я скопировал столбцы с листа Excel, добавил апострофы и запятые и использовал

 where id_1 in ('ID_1_a','ID_1_b'.....'ID_1_xxx')
  

То же самое для второго идентифицирующего столбца (ID_2). Могу ли я как-то использовать это обозначение для обновления из списка состояний? Электронная таблица содержит другие лишние столбцы, и это не единственные столбцы в таблице.

Ответ №1:

Это делает то, что, я думаю, вы хотите сделать:

Поместите формулу в ячейку D2 (если электронная таблица точно такая, как у вас там)

 ="update table set status='" amp; c2 amp; "' where id_1 = '"amp; a2 amp; "' and ID_2 = '" amp; b2 "'"
  

затем скопируйте это в электронную таблицу.

Это генерирует инструкции SQL, которые затем вы можете запускать в своей базе данных.

Комментарии:

1. Я пытаюсь обновить таблицу базы данных, а не электронную таблицу. Электронная таблица здесь является просто источником данных, если я не неправильно понял ваш ответ…

2. Я обновил свой ответ, чтобы рассказать, что вы делаете с электронной таблицей.