Мне нужно создать процедуру с динамическим SQL и сгенерировать операторы обновления.
У меня есть таблицы
Col.TMap.T_Mp
ID M_Type ID_F SF1 SF2
1 Acc ACC_ID AC_ID NULL
1 STA STA_ID ST_ID NULL
1 CHa Cha_ID CH_ID NULL
ACC
ID AC_ID SV1 SV2 SO1 SO2
1 12 6 NULL = NULL
STA
ID STA_ID SV1 SV2 SO1 SO2
1 1 Open NULL = NULL
1 2 CLosed NULL = NULL
CHa
ID CHa_ID SV1 SV2 SO1 SO2
1 1 PH NULL = NULL
1 2 EM NULL = NULL
Мне нужно обновить таблицу Ms.AT.AT_CRAW_Dmtemp с ACC_ID, STA_ID и CHA_ID из приведенных выше таблиц:
Выходное значение должно быть:
UPDATE mt
SET ACC_ID = ac.ACC_ID
FROM Ms.AT.AT_CRAW t
INNER JOIN Acc ac ON t.AC_ID=SV1
AND ac.ID = 1
INNER JOIN Ms.AT.AT_CRAW_Dmtemp mt
ON mt.[SRID] = t.[RID]
UPDATE mt
SET STA_ID = ac.STA_ID
FROM Ms.AT.AT_CRAW t
INNER JOIN STA ac ON t.ST_ID=SV1
AND ac.ID = 1
INNER JOIN Ms.AT.AT_CRAW_Dmtemp mt
ON mt.[SRID] = t.[RID]
UPDATE mt
SET CHa_ID = ac.CHa_ID
FROM Ms.AT.AT_CRAW t
INNER JOIN CHa ac ON t.CH_ID=SV1
AND ac.ID = 1
INNER JOIN Ms.AT.AT_CRAW_Dmtemp mt
ON mt.[SRID] = t.[RID]
Так может ли кто-нибудь предложить мне, как это сделать?