У меня есть таблица со столбцом, которую я хотел бы обновить. Ниже приведен пример кода TSQL:TSQL: обновить значения с помощью оператора With?
WITH Pieces(id, newdesc) AS
(
SELECT itemid, REPLACE(REPLACE(description, 'DESC_A', 'DESC_B'), 'NEW_1', 'NEW_2')
FROM myTable
WHERE description like '%DESC_A%DESC_B%'
)
-- SELECT * FROM Pieces
UPDATE myTable SET description = newdesc // not working, how?
Это обновление НЕ работает. Комментируя SELECT, я вижу, что результат - это то, что мне нужно. Как я могу сделать это изменение в пакетном режиме для группы строк? Не уверен, что это возможно с помощью инструкции WITH?
Вот несколько примеров данных:
....
xxxDESC_AyyyDESC_Bwwww
aaaDESC_AxxDESC_Beee
....
в udpated из них будут:
....
xxxNEW_1yyyNEW_2wwww
aaaNEW_1xxNEW_2eee
....
какая ошибка вы получаете? –
Я мог бы определить переменную таблицы и вставить значение в оператор WITH, а затем выполнить цикл через myTable, чтобы выполнить обновление. Возможно ли это, используя инструкцию WITH? –
Недопустимое имя столбца 'newdesc'. –