Difference between revisions of "Dbo.ufnGetProductDealerPrice (function)"
| Line 43: | Line 43: | ||
| Select | | Select | ||
| Table | | Table | ||
| − | | [[Production.Product_ | + | | [[Production.Product_(table)|Production.Product]] |
|- valign="top" | |- valign="top" | ||
| Select | | Select | ||
| Table | | Table | ||
| − | | [[Production.ProductListPriceHistory_ | + | | [[Production.ProductListPriceHistory_(table)|Production.ProductListPriceHistory]] |
|} | |} | ||
Latest revision as of 23:15, 23 June 2010
wikibot[edit]
| Function | dbo.ufnGetProductDealerPrice |
| Description | Scalar function returning the dealer price for a given product on a particular order date. |
Source[edit]
CREATE FUNCTION [dbo].[ufnGetProductDealerPrice](@ProductID [int], @OrderDate [datetime])
RETURNS [money]
AS
-- Returns the dealer price for the product on a specific date.
BEGIN
DECLARE @DealerPrice money;
DECLARE @DealerDiscount money;
SET @DealerDiscount = 0.60 -- 60% of list price
SELECT @DealerPrice = plph.[ListPrice] * @DealerDiscount
FROM [Production].[Product] p
INNER JOIN [Production].[ProductListPriceHistory] plph
ON p.[ProductID] = plph.[ProductID]
AND p.[ProductID] = @ProductID
AND @OrderDate BETWEEN plph.[StartDate] AND COALESCE(plph.[EndDate], CONVERT(datetime, '99991231', 112)); -- Make sure we get all the prices!
RETURN @DealerPrice;
END;
References[edit]
| Dependency Type | Object Type | Referenced Object |
| Select | Table | Production.Product |
| Select | Table | Production.ProductListPriceHistory |
automatically generated[edit]
| function | dbo.ufnGetProductDealerPrice |
| Description | Scalar function returning the dealer price for a given product on a particular order date. |
CREATE FUNCTION [dbo].[ufnGetProductDealerPrice](@ProductID [int], @OrderDate [datetime])
RETURNS [money]
AS
-- Returns the dealer price for the product on a specific date.
BEGIN
DECLARE @DealerPrice money;
DECLARE @DealerDiscount money;
SET @DealerDiscount = 0.60 -- 60% of list price
SELECT @DealerPrice = plph.[ListPrice] * @DealerDiscount
FROM [Production].[Product] p
INNER JOIN [Production].[ProductListPriceHistory] plph
ON p.[ProductID] = plph.[ProductID]
AND p.[ProductID] = @ProductID
AND @OrderDate BETWEEN plph.[StartDate] AND COALESCE(plph.[EndDate], CONVERT(datetime, '99991231', 112)); -- Make sure we get all the prices!
RETURN @DealerPrice;
END;
| Dependency Type | Object Type | Referenced Object |
| Select | Table | Production.Product |
| Select | Table | Production.ProductListPriceHistory |