Я работаю над процессом ETL, в котором мы перемещаем данные из нескольких промежуточных таблиц в соответствующие им таблицы назначения (с некоторым преобразованием).
Этот процесс включает в себя родительский хранимый процесс, который вызывает дочерний процесс, по 1 процессу для каждой таблицы.
У нас есть таблица журнала, в которой поле GUID является первичным ключом.Этот GUID должен оставаться неизменным для всех записей, которые были обновлены / вставлены в соответствующий процесс ETL.
В настоящее время я делаю следующее:
DECLARE @etlid UNIQUEIDENTIFIER = NEWID()
BEGIN
BEGIN TRY
EXEC dbo.etl_premier_main @etlid
EXEC dbo.etl_premier_financial @etlid
Мы просто объявили GUID в родительской процедуре и передали его в качестве параметра дочерним процедурам.
Однако этот метод не гарантирует, что каждый раз он будет генерировать уникальное значение для таблицы журнала.
Любой помощник будет признателен.