Я пытаюсь написать запрос, который обновляет строки в таблице, если определенный столбец имеет значение в списке, который я предоставляю:
UPDATE MY_TABLE SET COL1 = 'xyz' WHERE COL2 IN ('x', 'y', 'z');
Я получаю синтаксическую ошибку, но я знаю, что это должно быть возможно. По сути, это одна команда для выполнения следующих 3 команд:
UPDATE MY_TABLE SET COL1 = 'xyz' WHERE COL2 = 'x';
UPDATE MY_TABLE SET COL1 = 'xyz' WHERE COL2 = 'y';
UPDATE MY_TABLE SET COL1 = 'xyz' WHERE COL2 = 'z';
Значения xyz устанавливаются пользователем динамически, и может быть произвольное количество значений (или я просто закодировал бы его длинным и ужасным способом и покончил бы с ним. Единственная информация, которую я могу найти на * Предложение 1007 * IN касается подзапросов. Может ли кто-нибудь помочь мне переписать этот запрос?
Большое спасибо.