Надеюсь, это не повторяющийся ответ, но я хотел бы создать оператор SQL внутри оператора SQL, который позволит мне искать значения, которые я ищу (а не только таблицы с этими именами полей ( как обычно мне необходимо затем удалить любую информацию, связанную с идентификатором имени столбца, который я ищу):
SELECT 'Select * from ' + t.name + ' where ' + c.name + ' = 148' AS SQLToRun
FROM sys.columns c, c.name as ColName, t.name as TableName
JOIN sys.tables t
ON c.object_id = t.object_id
WHERE c.name LIKE '%ProjectID%'
Затем я могу скопировать и вставить мой первый столбец «SQLToRun» ... затем я заменяю «Выбрать * из» на «Удалить из», и это позволяет мне удалять любые ссылки на данный идентификатор! Записать эти результаты в файл, так что вы их на всякий случай.
ПРИМЕЧАНИЕ **** Убедитесь, что вы удалили все таблицы bakup перед выполнением оператора удаления ...
SELECT 'Delete from ' + t.name + ' where ' + c.name + ' = 148' AS SQLToRun
FROM sys.columns c, c.name as ColName, t.name as TableName
JOIN sys.tables t
ON c.object_id = t.object_id
WHERE c.name LIKE '%ProjectID%'