AccessUser22
Technical User
Is it possible to alter a view within a stored procedure?
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
Create View View_Show_All
AS
Select Col1, col2
from table
Select *
From View_Show_All
Where Col1 = 'Hello'
And Col2 = 'World'
AND #temp.OrderDate >= #temp.OrderDate <= dbo.tblInvoicingVariables.RateEndDate
and #temp.OrderDate <= dbo.tblInvoicingVariables.RateEndDate
[COLOR=green]---declare and set start/end date params
[/color][COLOR=blue]declare[/color] @startDate [COLOR=#FF00FF]datetime[/color]
[COLOR=blue]declare[/color] @FinishDate [COLOR=#FF00FF]datetime[/color]
[COLOR=blue]set[/color] @startDate = [COLOR=red]'20070224'[/color]
[COLOR=blue]set[/color] @FinishDate = [COLOR=red]'20070331'[/color]
[COLOR=green]---create temp table simulating 'third level view'
[/color][COLOR=blue]select[/color] * [COLOR=blue]into[/color] #temp
[COLOR=blue]from[/color] dbo.vw_Sub2
[COLOR=blue]where[/color] WebProcessDate >= @startDate
and WebProcessDate < @FinishDate
[COLOR=blue]GROUP[/color] [COLOR=blue]BY[/color] WebProcessDate,
OrderDate,
OrderID,
ContractNo,
ItemCategory,
Receipt,
ItemNo,
OrderingCompanyID
[COLOR=green]---create table simulating '4th level view'
[/color][COLOR=blue]select[/color] OrderingCompanyID,
ItemCategory,
sum(ItemCount) [COLOR=blue]as[/color] SumItems
[COLOR=blue]into[/color] #temp2
[COLOR=blue]from[/color] #temp
[COLOR=blue]group[/color] [COLOR=blue]by[/color] OrderingCompanyID,
ItemCategory
[COLOR=green]---query bringing it all together ('5th level view')
[/color][COLOR=blue]SELECT[/color] #temp.WebProcessDate,
#temp.OrderDate,
#temp.OrderingCompanyID,
#temp.OrderID,
#temp.ContractNo,
#temp.ItemCategory,
#temp.ItemNo,
#temp.Receipt,
#temp.ItemCount,
[COLOR=blue]CASE[/color] [COLOR=blue]WHEN[/color] #TEMP.[ItemCategory] = [COLOR=red]'Steel'[/color] [COLOR=blue]THEN[/color]
[COLOR=blue]CASE[/color] [COLOR=blue]WHEN[/color] [SumItems] >= 100 [COLOR=blue]THEN[/color]
[SteelCost100Above][COLOR=blue]ELSE[/color] [SteelCostUnder100] [COLOR=blue]END[/color]
[COLOR=blue]ELSE[/color] [COLOR=blue]CASE[/color] [COLOR=blue]WHEN[/color] [SumItems] >= 100 [COLOR=blue]THEN[/color]
[OtherCost100Above] [COLOR=blue]ELSE[/color] [OtherCostUnder100] [COLOR=blue]END[/color]
[COLOR=blue]END[/color] [COLOR=blue]AS[/color] UnitCost,
[COLOR=blue]CASE[/color] [COLOR=blue]WHEN[/color] vw_Sub3.[ItemCategory] = [COLOR=red]'Steel'[/color] [COLOR=blue]THEN[/color]
[COLOR=blue]CASE[/color] [COLOR=blue]WHEN[/color] [SumItems] >= 100 [COLOR=blue]THEN[/color]
([SteelCost100Above]* [ItemCount])
[COLOR=blue]ELSE[/color] ([SteelCostUnder100] * [ItemCount]) [COLOR=blue]END[/color]
[COLOR=blue]ELSE[/color] [COLOR=blue]CASE[/color] [COLOR=blue]WHEN[/color] [SumItems] >= 100 [COLOR=blue]THEN[/color]
[OtherCost100Above] * [ItemCount]
[COLOR=blue]ELSE[/color] [OtherCostUnder100] * [ItemCount] [COLOR=blue]END[/color]
[COLOR=blue]END[/color] [COLOR=blue]AS[/color] TotalCost,
dbo.tblInvoicingVariables.RateStartDate,
dbo.tblInvoicingVariables.RateEndDate,
dbo.#Temp2.SumItems
[COLOR=blue]FROM[/color] #temp
[COLOR=blue]INNER[/color] [COLOR=blue]JOIN[/color] dbo.tblInvoicingVariables
[COLOR=blue]ON[/color] #temp.OrderingCompanyID = dbo.tblInvoicingVariables.CompanyID
AND #temp.OrderDate <= dbo.tblInvoicingVariables.RateEndDate
[COLOR=blue]INNER[/color] [COLOR=blue]JOIN[/color]
#temp2 [COLOR=blue]ON[/color]
#temp.OrderingCompanyID = #temp2.OrderingCompanyID
AND #temp.ItemCategory = #temp2.ItemCategory
[COLOR=blue]ORDER[/color] [COLOR=blue]BY[/color] #temp.ItemCategory, #temp.WebProcessDate,
#temp.OrderID
[COLOR=green]---clean up temp tables
[/color][COLOR=blue]drop[/color] [COLOR=blue]table[/color] #temp
[COLOR=blue]drop[/color] [COLOR=blue]table[/color] #temp2