dbo.ufnGetProductDealerPrice
Documentation | AdventureWorks |
Schema | dbo |
Name | ufnGetProductDealerPrice |
Module | Products |
Scalar function returning the dealer price for a given product on a particular order date.
Input/Output
Mode | Name | Data type | Description | |
---|---|---|---|---|
1 | OUT | Returns | money | |
2 | IN | ProductID | int | Input parameter for the scalar function ufnGetProductDealerPrice. Enter a valid ProductID from the Production.Product table. |
Input parameter for the scalar function ufnGetProductDealerPrice. Enter a valid ProductID from the Production.Product table. | ||||
3 | IN | OrderDate | datetime | Input parameter for the scalar function ufnGetProductDealerPrice. Enter a valid order date. |
Input parameter for the scalar function ufnGetProductDealerPrice. Enter a valid order date. |
Uses
Name |
---|
dbo.ufnGetProductDealerPrice
|
Script
CREATE FUNCTION [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; |
Exported: 2019-02-04 23:13, Last imported: 2018-03-07 11:56