Мне нужно создать таблицу, которая будет содержать все идентификаторы Salesforce для слияния / переноса организации, над которыми я работаю.Эта таблица будет использоваться для перекрестной ссылки полиморфных ключей.Я смотрю на использование sp_MSforceachtable для создания списка идентификаторов, так как я хочу захватить каждый идентификатор из каждого объекта в исходных организациях.
Я сталкиваюсь с проблемами при добавлении столбца, чтобы сообщить мне, из какой таблицы получена запись, а с какой организации (я хочу, чтобы это было сделано в целях аудита).Вот код, который у меня есть для создания списка, который я хотел бы изменить для каждой исходной базы данных.
Проблема, с которой я сталкиваюсь, заключается в том, чтобы избежать двойных кавычек в динамическом SQL, и как получить имя таблицы из Infosys.Вот код, который работает:
use Staging
go
exec sp_MSforeachtable
'IF EXISTS (SELECT * FROM Salesforce.INFORMATION_SCHEMA.COLUMNS WHERE
TABLE_SCHEMA=PARSENAME("?",2) AND TABLE_NAME=PARSENAME("?",1) AND
COLUMN_NAME="ID")
BEGIN
INSERT INTO staging.dbo.tpKeyList
(ID)
(SELECT ?.ID FROM ?
LEFT JOIN Staging.dbo.tpkeylist b on b.ID = ?.ID
WHERE b.ID is null
and ?.Id is not null
)
END
'
Любая помощь будет оценена.