2016-01-17 2 views
0

У меня есть таблица SQL Server со следующими именами столбцов:Динамическое изменение значений для таблицы SQL Server?

  • ItemID
  • Title
  • Description
  • ImagePath

наполненного около 300 пунктов. Теперь имя столбца ImagePath заполнено разными изображениями для каждой записи, но все они имеют общую корневую папку (например, /project/images/1.jpg, /project/images/2.jpg, /project/images/3.jpg и т. Д.). Однако меня попросили переместить изображения в другое место, поэтому теперь изменилась корневая папка (предположим, что новое местоположение - /projects/project-a/images), и я хотел бы знать, есть ли способ обновить ImagePath сразу для всех записей, в отличие от необходимости проходить через каждый из них вручную. Если возможно, я бы хотел, чтобы вы не сбросили и не создали таблицу снова.

+1

я упускаю что-то ; что случилось с простым сценарием обновления? –

ответ

4

Если тип данных ImagePath столбца CHAR, VARCHAR, NCHAR или NVARCHAR, но НЕ текст или NTEXT, вы можете просто использовать встроенный в REPLACE метод:

UPDATE tableName 
SET ImagePath = REPLACE(ImagePath, '/project/images/', '/projects/project-a/images') 
+0

Это именно то, что мне нужно! Спасибо! –

+0

Рад помочь :-) –

Смежные вопросы