Занятое написание моей первой хранимой процедуры на SQL, я столкнулся с проблемой, которую не могу решить сам.
Хранимая процедура должна усекать таблицу и вставлять в нее новые значения.Усечение идет хорошо, но вставки нет.Когда я запускаю запрос вне процедуры, он возвращает ожидаемые результаты.
Я запускаю процедуру вручную.
Этот код:
Create Procedure Usp_Max_DateUpdated(
@TableName nvarchar (50)
, @Max_DateUpdated numeric(6,0)
)
as
Begin
set nocount on;
truncate table Max_UPMJ;
With CTE_Fact_Account_Ledger as(
select
cast(isnull(max([DateUpdated (GLUPMJ)]),0) as numeric(6,0)) as Max_DateUpdated,
'Fact_Account_Ledger' as TableName
from DWH_Backroom.dbo.Fact_Account_Ledger
)
, CTE_Dim_Company as(
select
cast(isnull(max([DateUpdated (CCUPMJ)]) ,0) as numeric(6,0)) as Max_DateUpdated,
'Dim_Company' as TableName
from DWH_Backroom.dbo.Dim_Company
)
insert into Max_UPMJ (DateUpdated, TableName)
select
Max_DateUpdated,
TableName
From CTE_Fact_Account_Ledger CFAL
where Max_DateUpdated = @Max_DateUpdated and TableName = @TableName
union
select
Max_DateUpdated,
TableName
From CTE_Dim_Company
where Max_DateUpdated = @Max_DateUpdated and TableName = @TableName
End
Ожидаемый результат: (из запроса)
Дата обновления 119183, имя таблицы Fact_Account_Ledger
Дата обновления 0, имя таблицы Dim_Company
Результат из процедуры без строк
** Результат из запроса * 2 затронутых строки
Редактировать: сообщений об ошибках нет, и возвращаемое значение равно 0