У меня есть хранимая процедура, где я получаю данные как JSON от API в C#. Я вставляю данные в две таблицы следующим образом:
INSERT INTO dbo.ServiceRequestHeader(SubscriptionId, CustomerAccountId, ModifiedBy)
OUTPUT Inserted.ServiceRequestHeaderId INTO @TempT
SELECT
SubscriptionId,
CustomerAccountId,
ModifiedBy
FROM
OpenJson(@JsonServiceRequest)
WITH
(SubscriptionId TinyInt,
CustomerAccountId Int)
SELECT @TempId = Id FROM @TempT
INSERT INTO dbo.ServiceRequest(ServiceRequestId, ServiceRequestHeaderId, SubscriptionId)
SELECT
@TempId, -- <= Here I need to modify the serviceRequestHeaderId
@TempId,
SubscriptionId
FROM
OpenJson(@JsonServiceRequest, '$.ServiceRequest')
WITH (SubscriptionId TinyInt,
...)
Дело в том, что serviceRequestId
не является вычисляемым полем, а это особый случай, который зависит от ServiceRequestHeaderId
.
Пример:
- Если
ServiceRequestHeaderId = 1000
, то ServiceRequestId
будет 1000 001, 1000 002 ... N ...
Это я не могу прийти с возможностью сделать это