Обновить данные, если совпадают значение и столбец во всей таблице
У меня проблема с обновлением значения в столбце с именем 'ST_CODE', который существует во многих таблицах в базе данных.
Я могу найти таблицу, содержащую столбец "ST_CODE" со следующими кодами.
SELECT c.name As ColNames, t.name as TableNames
FROM sys.columns c JOIN sys.tables t ON c.object_id = t.object_id
WHERE c.name='ST_CODE'
Можно ли обновить значение с "00000" до "11000" для всех столбцов с именем "ST_CODE" во всех таблицах?
Большое спасибо!
1 ответ
Да. Создать хранимую процедуру и вставить имя таблицы и имя столбца во временную таблицу.
Insert into #temp(SELECT c.name As ColNames, t.name as TableNames
FROM sys.columns c JOIN sys.tables t ON c.object_id = t.object_id
WHERE c.name='ST_CODE')
Затем зациклите вашу временную таблицу и напишите инструкцию обновления, как вам нужно. Пожалуйста, перейдите по этой ссылке для помощи. http://ask.sqlservercentral.com/questions/24259/how-to-update-a-dynamic-sql-table-with-a-set-varia.html