Я использую SQL Server 2014. Я создал хранимую процедуру для обновления таблицы, но когда я ее запускаю, это влияет на 0 строк. я ожидаю увидеть затронутые 501 строки, так как фактический оператор вставки, когда выполняется один, возвращает это. Обновляемая таблица предварительно заполнена.
Я также попытался предварительно заполнить таблицу 500 записями, чтобы посмотреть, была ли сохранена последняя 1 строка хранимой процедурой, но это все равно влияет на 0 строк.
Create PROCEDURE UPDATE_STAGING
(@StatementType NVARCHAR(20) = '')
AS
BEGIN
IF @StatementType = 'Insertnew'
BEGIN
INSERT INTO owner.dbo.MVR_Staging
(
policy_number,
quote_number,
request_id,
CreateTs,
mvr_response_raw_data
)
select
p.pol_num,
A.pol_number,
R.Request_ID,
R.CreateTS,
R._raw_data
from TABLE1 A with (NOLOCK)
left join TABLE2 R with (NOLOCK)
on R.Request_id = isnull(A.CACHE_REQUEST_ID, A.Request_id)
inner join TABLE3 P
on p.quote_policy_num = a.policy_number
where
A.[SOURCE] = 'MVR'
and A.CREATED_ON >= '2020-01-01'
END
IF @StatementType = 'Select'
BEGIN
SELECT *
FROM owner.dbo.MVR_Staging
END
END
для запуска:
exec UPDATE_STAGING insertnew
GO