Editing Sales.SalesOrderDetail (table)

Jump to: navigation, search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
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"
+
|-
 
| '''Table
 
| '''Table
 
| Sales.SalesOrderDetail
 
| Sales.SalesOrderDetail
|- valign="top"
+
|-
| '''Description
 
| Individual products associated with a specific sales order. See SalesOrderHeader.
 
 
|}
 
|}
  
=== Columns ===
+
 
 
{| 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"
Line 17: Line 15:
 
| '''Nullable
 
| '''Nullable
 
| '''Default
 
| '''Default
| '''Description
+
| '''PK
 
+
| '''Index
|- valign="top"
+
 +
|-
 
| SalesOrderID
 
| SalesOrderID
 
| int
 
| int
 
| not null
 
| not null
 
|  
 
|  
| Primary key. Foreign key to SalesOrderHeader.SalesOrderID.
+
| PK_SalesOrderDetail_SalesOrderID_SalesOrderDetailID
|- valign="top"
+
|
 +
|-
 
| SalesOrderDetailID
 
| SalesOrderDetailID
 
| int
 
| int
 
| not null
 
| not null
 
|  
 
|  
| Primary key. One incremental unique number per product sold.
+
| PK_SalesOrderDetail_SalesOrderID_SalesOrderDetailID
|- valign="top"
+
|
 +
|-
 
| CarrierTrackingNumber
 
| CarrierTrackingNumber
 
| nvarchar(25)
 
| nvarchar(25)
 
| null
 
| null
 
|  
 
|  
| Shipment tracking number supplied by the shipper.
+
|  
|- valign="top"
+
|
 +
|-
 
| OrderQty
 
| OrderQty
 
| smallint
 
| smallint
 
| not null
 
| not null
 
|  
 
|  
| Quantity ordered per product.
+
|  
|- valign="top"
+
|
 +
|-
 
| ProductID
 
| ProductID
 
| int
 
| int
 
| not null
 
| not null
 
|  
 
|  
| Product sold to customer. Foreign key to Product.ProductID.
+
|  
|- valign="top"
+
| IX_SalesOrderDetail_ProductID
 +
|-
 
| SpecialOfferID
 
| SpecialOfferID
 
| int
 
| int
 
| not null
 
| not null
 
|  
 
|  
| Promotional code. Foreign key to SpecialOffer.SpecialOfferID.
+
|  
|- valign="top"
+
|
 +
|-
 
| UnitPrice
 
| UnitPrice
 
| money
 
| money
 
| not null
 
| not null
 
|  
 
|  
| Selling price of a single product.
+
|  
|- valign="top"
+
|
 +
|-
 
| UnitPriceDiscount
 
| UnitPriceDiscount
 
| money
 
| money
 
| not null
 
| not null
 
| ((0.0))
 
| ((0.0))
| Discount amount.
+
|  
|- valign="top"
+
|
 +
|-
 
| LineTotal
 
| LineTotal
 
|  
 
|  
 
|  
 
|  
 
|  
 
|  
| Per product subtotal. Computed as UnitPrice * (1 - UnitPriceDiscount) * OrderQty.
+
|  
|- valign="top"
+
|
 +
|-
 
| rowguid
 
| rowguid
 
| uniqueidentifier
 
| uniqueidentifier
 
| not null
 
| not null
 
| (newid())
 
| (newid())
| ROWGUIDCOL number uniquely identifying the record. Used to support a merge replication sample.
+
|  
|- valign="top"
+
| AK_SalesOrderDetail_rowguid
 +
|-
 
| ModifiedDate
 
| ModifiedDate
 
| datetime
 
| datetime
 
| not null
 
| not null
 
| (getdate())
 
| (getdate())
| Date and time the record was last updated.
 
|}
 
 
=== Primary Key ===
 
{| border="1" cellpadding="5" cellspacing="0" style="border-collapse:collapse"
 
|- style="background:silver"
 
| '''Primary Key
 
| '''Columns
 
|- valign="top"
 
| PK_SalesOrderDetail_SalesOrderID_SalesOrderDetailID
 
| SalesOrderID, SalesOrderDetailID
 
|}
 
 
=== Indexes ===
 
{| border="1" cellpadding="5" cellspacing="0" style="border-collapse:collapse"
 
|- style="background:silver"
 
| '''Index
 
| '''Type
 
| '''Columns
 
 
|- valign="top"
 
| AK_SalesOrderDetail_rowguid
 
| Unique
 
| rowguid
 
|- valign="top"
 
| IX_SalesOrderDetail_ProductID
 
 
|  
 
|  
| ProductID
+
|  
 
|}
 
|}
  
=== Check Constraints ===
 
{| border="1" cellpadding="5" cellspacing="0" style="border-collapse:collapse"
 
|- style="background:silver"
 
| '''Check Constraint
 
| '''Expression
 
| '''Description
 
  
|- valign="top"
 
| CK_SalesOrderDetail_OrderQty
 
| ([OrderQty]>(0))
 
| Check constraint [OrderQty] > (0)
 
|- valign="top"
 
| CK_SalesOrderDetail_UnitPrice
 
| ([UnitPrice]>=(0.00))
 
| Check constraint [UnitPrice] >= (0.00)
 
|- valign="top"
 
| CK_SalesOrderDetail_UnitPriceDiscount
 
| ([UnitPriceDiscount]>=(0.00))
 
| Check constraint [UnitPriceDiscount] >= (0.00)
 
|}
 
  
=== Foreign Keys ===
 
 
{| 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"
Line 141: Line 104:
 
| '''Column
 
| '''Column
 
| '''Referenced Column
 
| '''Referenced Column
 
+
|- valign="top"
+
|-
 
| [[Sales.SalesOrderHeader_(table)|Sales.SalesOrderHeader]]
 
| [[Sales.SalesOrderHeader_(table)|Sales.SalesOrderHeader]]
 
| SalesOrderID
 
| SalesOrderID
 
| SalesOrderID
 
| SalesOrderID
|- valign="top"
+
|-
 
| [[Sales.SpecialOfferProduct_(table)|Sales.SpecialOfferProduct]]
 
| [[Sales.SpecialOfferProduct_(table)|Sales.SpecialOfferProduct]]
 
| SpecialOfferID
 
| SpecialOfferID
Line 152: Line 115:
 
|}
 
|}
  
=== Triggers ===
+
 
 
{| 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"
| '''Trigger
+
| '''Triggers
 
| '''Type
 
| '''Type
 
+
|- valign="top"
+
|-
 
| iduSalesOrderDetail
 
| iduSalesOrderDetail
 
| ON INSERT UPDATE DELETE
 
| ON INSERT UPDATE DELETE
 
|}
 
|}
 
==== Trigger iduSalesOrderDetail ====
 
<pre>
 
CREATE TRIGGER [Sales].[iduSalesOrderDetail] ON [Sales].[SalesOrderDetail]
 
AFTER INSERT, DELETE, UPDATE AS
 
BEGIN
 
    DECLARE @Count int;
 
 
    SET @Count = @@ROWCOUNT;
 
    IF @Count = 0
 
        RETURN;
 
 
    SET NOCOUNT ON;
 
 
    BEGIN TRY
 
        -- If inserting or updating these columns
 
        IF UPDATE([ProductID]) OR UPDATE([OrderQty]) OR UPDATE([UnitPrice]) OR UPDATE([UnitPriceDiscount])
 
        -- Insert record into TransactionHistory
 
        BEGIN
 
            INSERT INTO [Production].[TransactionHistory]
 
                ([ProductID]
 
                ,[ReferenceOrderID]
 
                ,[ReferenceOrderLineID]
 
                ,[TransactionType]
 
                ,[TransactionDate]
 
                ,[Quantity]
 
                ,[ActualCost])
 
            SELECT
 
                inserted.[ProductID]
 
                ,inserted.[SalesOrderID]
 
                ,inserted.[SalesOrderDetailID]
 
                ,'S'
 
                ,GETDATE()
 
                ,inserted.[OrderQty]
 
                ,inserted.[UnitPrice]
 
            FROM inserted
 
                INNER JOIN [Sales].[SalesOrderHeader]
 
                ON inserted.[SalesOrderID] = [Sales].[SalesOrderHeader].[SalesOrderID];
 
 
            UPDATE [Sales].[Individual]
 
            SET [Demographics].modify('declare default element namespace
 
                "http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/IndividualSurvey";
 
                replace value of (/IndividualSurvey/TotalPurchaseYTD)[1]
 
                with data(/IndividualSurvey/TotalPurchaseYTD)[1] + sql:column ("inserted.LineTotal")')
 
            FROM inserted
 
                INNER JOIN [Sales].[SalesOrderHeader]
 
                ON inserted.[SalesOrderID] = [Sales].[SalesOrderHeader].[SalesOrderID]
 
            WHERE [Sales].[SalesOrderHeader].[CustomerID] = [Sales].[Individual].[CustomerID];
 
        END;
 
 
        -- Update SubTotal in SalesOrderHeader record. Note that this causes the
 
        -- SalesOrderHeader trigger to fire which will update the RevisionNumber.
 
        UPDATE [Sales].[SalesOrderHeader]
 
        SET [Sales].[SalesOrderHeader].[SubTotal] =
 
            (SELECT SUM([Sales].[SalesOrderDetail].[LineTotal])
 
                FROM [Sales].[SalesOrderDetail]
 
                WHERE [Sales].[SalesOrderHeader].[SalesOrderID] = [Sales].[SalesOrderDetail].[SalesOrderID])
 
        WHERE [Sales].[SalesOrderHeader].[SalesOrderID] IN (SELECT inserted.[SalesOrderID] FROM inserted);
 
 
        UPDATE [Sales].[Individual]
 
        SET [Demographics].modify('declare default element namespace
 
            "http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/IndividualSurvey";
 
            replace value of (/IndividualSurvey/TotalPurchaseYTD)[1]
 
            with data(/IndividualSurvey/TotalPurchaseYTD)[1] - sql:column("deleted.LineTotal")')
 
        FROM deleted
 
            INNER JOIN [Sales].[SalesOrderHeader]
 
            ON deleted.[SalesOrderID] = [Sales].[SalesOrderHeader].[SalesOrderID]
 
        WHERE [Sales].[SalesOrderHeader].[CustomerID] = [Sales].[Individual].[CustomerID];
 
    END TRY
 
    BEGIN CATCH
 
        EXECUTE [dbo].[uspPrintError];
 
 
        -- Rollback any active or uncommittable transactions before
 
        -- inserting information in the ErrorLog
 
        IF @@TRANCOUNT > 0
 
        BEGIN
 
            ROLLBACK TRANSACTION;
 
        END
 
 
        EXECUTE [dbo].[uspLogError];
 
    END CATCH;
 
END;
 
</pre>
 
 
=== References ===
 
{| border="1" cellpadding="5" cellspacing="0" style="border-collapse:collapse"
 
|- style="background:silver"
 
| '''Dependency Type
 
| '''Object Type
 
| '''Referenced Object
 
 
| '''Child Type
 
| '''Child Object
 
 
|- valign="top"
 
| Schema
 
| Schema
 
| [[Sales_(schema)|Sales]]
 
 
|
 
|
 
|- valign="top"
 
| Insert
 
| Table
 
| [[Production.TransactionHistory_(table)|Production.TransactionHistory]]
 
 
| Trigger
 
| iduSalesOrderDetail
 
|- valign="top"
 
| Update
 
| Table
 
| [[Sales.Individual_(table)|Sales.Individual]]
 
 
| Trigger
 
| iduSalesOrderDetail
 
|- valign="top"
 
| Select
 
| Table
 
| [[Sales.SalesOrderDetail_(table)|Sales.SalesOrderDetail]]
 
 
| Trigger
 
| iduSalesOrderDetail
 
|- valign="top"
 
| Select
 
| Table
 
| [[Sales.SalesOrderHeader_(table)|Sales.SalesOrderHeader]]
 
 
| Trigger
 
| iduSalesOrderDetail
 
|- valign="top"
 
| Update
 
| Table
 
| [[Sales.SalesOrderHeader_(table)|Sales.SalesOrderHeader]]
 
 
| Trigger
 
| iduSalesOrderDetail
 
|- valign="top"
 
| Execute
 
| Procedure
 
| [[dbo.uspLogError_(procedure)|dbo.uspLogError]]
 
 
| Trigger
 
| iduSalesOrderDetail
 
|- valign="top"
 
| Execute
 
| Procedure
 
| [[dbo.uspPrintError_(procedure)|dbo.uspPrintError]]
 
 
| Trigger
 
| iduSalesOrderDetail
 
|}
 
 
=== Dependencies ===
 
{| border="1" cellpadding="5" cellspacing="0" style="border-collapse:collapse"
 
|- style="background:silver"
 
| '''Reference Type
 
| '''Object Type
 
| '''Referencing Object
 
 
| '''Child Type
 
| '''Child Object
 
 
|- valign="top"
 
| Select
 
| Table
 
| [[Sales.SalesOrderDetail_(table)|Sales.SalesOrderDetail]]
 
 
| Trigger
 
| iduSalesOrderDetail
 
|}
 
 
 
 
== automatically generated ==
 
== automatically generated ==
  
Line 341: Line 132:
 
| Sales.SalesOrderDetail
 
| Sales.SalesOrderDetail
 
|- valign="top"
 
|- valign="top"
 +
 
| '''Description
 
| '''Description
 
| Individual products associated with a specific sales order. See SalesOrderHeader.
 
| Individual products associated with a specific sales order. See SalesOrderHeader.
 
|-
 
|-
 +
 
|}
 
|}
  
Line 455: Line 248:
 
{| 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"
 +
| '''Referenced Object
 +
| '''Object Type
 
| '''Dependency Type
 
| '''Dependency Type
| '''Object Type
 
| '''Referenced Object
 
 
| '''Child Type
 
| '''Child Object
 
  
 
|-
 
|-
 +
| [[.Sales_(schema)|.Sales]]
 
| Schema
 
| Schema
 
| Schema
 
| Schema
| [[Sales_(schema)|Sales]]
 
 
|
 
|
 
 
|-
 
|-
 +
| [[Production.TransactionHistory_(table)|Production.TransactionHistory]]
 +
| Table
 
| Insert
 
| Insert
| Table
 
| [[Production.TransactionHistory_(table)|Production.TransactionHistory]]
 
 
 
| Trigger
 
| Trigger
 
| iduSalesOrderDetail
 
| iduSalesOrderDetail
 
|-
 
|-
 +
| [[Sales.Individual_(table)|Sales.Individual]]
 +
| Table
 
| Update
 
| Update
| Table
 
| [[Sales.Individual_(table)|Sales.Individual]]
 
 
 
| Trigger
 
| Trigger
 
| iduSalesOrderDetail
 
| iduSalesOrderDetail
 
|-
 
|-
 +
| [[Sales.SalesOrderDetail_(table)|Sales.SalesOrderDetail]]
 +
| Table
 
| Select
 
| Select
| Table
 
| [[Sales.SalesOrderDetail_(table)|Sales.SalesOrderDetail]]
 
 
 
| Trigger
 
| Trigger
 
| iduSalesOrderDetail
 
| iduSalesOrderDetail
 
|-
 
|-
 +
| [[Sales.SalesOrderHeader_(table)|Sales.SalesOrderHeader]]
 +
| Table
 
| Select
 
| Select
| Table
 
| [[Sales.SalesOrderHeader_(table)|Sales.SalesOrderHeader]]
 
 
 
| Trigger
 
| Trigger
 
| iduSalesOrderDetail
 
| iduSalesOrderDetail
 
|-
 
|-
 +
| [[Sales.SalesOrderHeader_(table)|Sales.SalesOrderHeader]]
 +
| Table
 
| Update
 
| Update
| Table
 
| [[Sales.SalesOrderHeader_(table)|Sales.SalesOrderHeader]]
 
 
 
| Trigger
 
| Trigger
 
| iduSalesOrderDetail
 
| iduSalesOrderDetail
 
|-
 
|-
 +
| [[dbo.uspLogError_(procedure)|dbo.uspLogError]]
 +
| Procedure
 
| Execute
 
| Execute
| Procedure
 
| [[dbo.uspLogError_(procedure)|dbo.uspLogError]]
 
 
 
| Trigger
 
| Trigger
 
| iduSalesOrderDetail
 
| iduSalesOrderDetail
 
|-
 
|-
 +
| [[dbo.uspPrintError_(procedure)|dbo.uspPrintError]]
 +
| Procedure
 
| Execute
 
| Execute
| Procedure
 
| [[dbo.uspPrintError_(procedure)|dbo.uspPrintError]]
 
 
 
| Trigger
 
| Trigger
 
| iduSalesOrderDetail
 
| iduSalesOrderDetail
Line 523: Line 303:
 
{| 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"
 +
| '''Referencing Object
 +
| '''Object Type
 
| '''Reference Type
 
| '''Reference Type
| '''Object Type
 
| '''Referencing Object
 
 
| '''Child Type
 
| '''Child Object
 
  
 
|-
 
|-
 +
| [[Sales.SalesOrderDetail_(table)|Sales.SalesOrderDetail]]
 +
| Table
 
| Select
 
| Select
| Table
 
| [[Sales.SalesOrderDetail_(table)|Sales.SalesOrderDetail]]
 
 
 
| Trigger
 
| Trigger
 
| iduSalesOrderDetail
 
| iduSalesOrderDetail
 
|}
 
|}

Please note that all contributions to dbscript Online Help may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Project:Copyrights for details). Do not submit copyrighted work without permission!

Cancel | Editing help (opens in new window)