Код ниже работает как процедура. Как я могу преобразовать или изменить один и тот же код ниже, чтобы он мог работать в представлении или в виде кода вида или вида?От процедуры до просмотра
Могу ли я отказаться от просмотра?
ALTER proc [dbo].[NewOne_1]
as
begin
set nocount on
if object_ID('TEMPDB..#TableA') <> ''
drop table # TableA
select
*
into # TableA
from vd_View po
if object_ID('TEMPDB..#FirstSDate') is not null
drop table #FirstSDate
select
Pt_id = Pat_Id,
Date_of_First_Shipment = min(DeliveryDate)
into #FSDate
from # TableA po
group by Pat_Id
if object_ID('TEMPDB..#LastSDate') is not null
drop table #LastShipDate
select
Pt_id = Pat_Id,
Date_of_Last_Shipment = max(DeliveryDate)
into #LastShipDate
from # TableA po
group by Pat_Id
SELECT PtData.Pat_No Progress_Pat_ID
,C_S = case when dbo.fn_GetBusinessDays(firstship.Date_of_First_Shipment,LastShip.Date_of_Last_Shipment) > 80 then 'Yes'
when dbo.fn_GetBusinessDays(firstship.Date_of_First_Shipment,LastShip.Date_of_Last_Shipment) <= 80 then 'No'
else ''
end
,P_Last_Name = PtData.P_LName
,PtData.DReg Reg
FROM dbo.tbld_PatSum PtData
inner join vd_PSum ps
on PtData.P = ps.P_ID
inner join S_M.dbo.Pat__c ps1
on PtData.Pt_ID = ps1.Id
left join #FirstShipDate firstship
on PtData.Pt_ID = firstship.Pt_Id
left join #LastShipDate LastShip
on PtData.Pt_ID = LastShip.Pt_Id
WHERE PtData.Pat_No IS NOT NULL
AND PtData.ActiveStatus<>'Gen Info'
set nocount off
end
Вы не можете поместить этот код в представление, как объяснил вчера , Представления не могут содержать процедурную логику или делать такие вещи, как отбрасывание таблиц. –
Как я могу преобразовать этот код так, чтобы он работал над View. В соответствии с просьбой я сейчас поставлю код. Я должен сделать это для столбца C_S – user680865
Я понятия не имею, что вы спрашиваете. Что такое 'Как я могу преобразовать или изменить один и тот же код ниже, чтобы он мог работать в представлении или в виде кода вида или вида? 'означает? Вы должны сделать что для столбца 'C_S'? –