Difference between revisions of "Dbo.ufnGetProductDealerPrice (function)"

From dbscript Online Help
Jump to: navigation, search
 
(6 intermediate revisions by the same user not shown)
Line 2: Line 2:
  
 
{| border="1" cellpadding="5" cellspacing="0" style="border-collapse:collapse"
 
{| border="1" cellpadding="5" cellspacing="0" style="border-collapse:collapse"
|-
+
|- valign="top"
| '''function
+
| '''Function
 
| dbo.ufnGetProductDealerPrice
 
| dbo.ufnGetProductDealerPrice
|-
+
|- valign="top"
 +
| '''Description
 +
| Scalar function returning the dealer price for a given product on a particular order date.
 
|}
 
|}
  
 +
=== Source ===
 
<pre>
 
<pre>
 
CREATE FUNCTION [dbo].[ufnGetProductDealerPrice](@ProductID [int], @OrderDate [datetime])
 
CREATE FUNCTION [dbo].[ufnGetProductDealerPrice](@ProductID [int], @OrderDate [datetime])
Line 29: Line 32:
 
END;
 
END;
 
</pre>
 
</pre>
 +
 +
=== References ===
 +
{| border="1" cellpadding="5" cellspacing="0" style="border-collapse:collapse"
 +
|- style="background:silver"
 +
| '''Dependency Type
 +
| '''Object Type
 +
| '''Referenced Object
 +
 +
|- valign="top"
 +
| Select
 +
| Table
 +
| [[Production.Product_(table)|Production.Product]]
 +
 +
|- valign="top"
 +
| Select
 +
| Table
 +
| [[Production.ProductListPriceHistory_(table)|Production.ProductListPriceHistory]]
 +
 +
|}
 +
  
 
== automatically generated ==
 
== automatically generated ==
Line 36: Line 59:
 
| '''function
 
| '''function
 
| dbo.ufnGetProductDealerPrice
 
| dbo.ufnGetProductDealerPrice
|-
+
|- valign="top"
 
 
 
| '''Description
 
| '''Description
 
| Scalar function returning the dealer price for a given product on a particular order date.
 
| Scalar function returning the dealer price for a given product on a particular order date.
 
|-
 
|-
 
 
|}
 
|}
  
Line 70: Line 91:
 
{| border="1" cellpadding="5" cellspacing="0" style="border-collapse:collapse"
 
{| border="1" cellpadding="5" cellspacing="0" style="border-collapse:collapse"
 
|- style="background:silver"
 
|- style="background:silver"
 +
| '''Dependency Type
 +
| '''Object Type
 
| '''Referenced Object
 
| '''Referenced Object
| '''Object Type
+
 
| '''Dependency Type
 
 
 
|-
 
|-
 +
| Select
 +
| Table
 
| [[Production.Product_(table)|Production.Product]]
 
| [[Production.Product_(table)|Production.Product]]
 +
 +
|-
 +
| Select
 
| Table
 
| Table
| Select
 
|-
 
 
| [[Production.ProductListPriceHistory_(table)|Production.ProductListPriceHistory]]
 
| [[Production.ProductListPriceHistory_(table)|Production.ProductListPriceHistory]]
| Table
+
 
| Select
 
 
|}
 
|}

Latest revision as of 00:15, 24 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