Difference between revisions of "Sales.Store (table)"

From dbscript Online Help
Jump to: navigation, search
Line 12: Line 12:
  
  
 +
=== 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 18: Line 19:
 
| '''Nullable
 
| '''Nullable
 
| '''Default
 
| '''Default
| '''Description / PK / Index
+
| '''Description
 
 
 
|- valign="top"
 
|- valign="top"
Line 25: Line 26:
 
| not null
 
| not null
 
|  
 
|  
| Primary key. Foreign key to Customer.CustomerID.<br />PK_Store_CustomerID
+
| Primary key. Foreign key to Customer.CustomerID.
 
|- valign="top"
 
|- valign="top"
 
| Name
 
| Name
Line 31: Line 32:
 
| not null
 
| not null
 
|  
 
|  
| Name of the store.<br />
+
| Name of the store.
 
|- valign="top"
 
|- valign="top"
 
| SalesPersonID
 
| SalesPersonID
Line 37: Line 38:
 
| null
 
| null
 
|  
 
|  
| ID of the sales person assigned to the customer. Foreign key to SalesPerson.SalesPersonID.<br />IX_Store_SalesPersonID
+
| ID of the sales person assigned to the customer. Foreign key to SalesPerson.SalesPersonID.
 
|- valign="top"
 
|- valign="top"
 
| Demographics
 
| Demographics
Line 43: Line 44:
 
| null
 
| null
 
|  
 
|  
| Demographic informationg about the store such as the number of employees, annual sales and store type.<br />PXML_Store_Demographics
+
| Demographic informationg about the store such as the number of employees, annual sales and store type.
 
|- valign="top"
 
|- valign="top"
 
| rowguid
 
| rowguid
Line 49: Line 50:
 
| not null
 
| not null
 
| (newid())
 
| (newid())
| ROWGUIDCOL number uniquely identifying the record. Used to support a merge replication sample.<br />AK_Store_rowguid
+
| ROWGUIDCOL number uniquely identifying the record. Used to support a merge replication sample.
 
|- valign="top"
 
|- valign="top"
 
| ModifiedDate
 
| ModifiedDate
Line 55: Line 56:
 
| not null
 
| not null
 
| (getdate())
 
| (getdate())
| Date and time the record was last updated.<br />
+
| 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
 +
|-
 +
| PK_Store_CustomerID
 +
| CustomerID
 +
|}
  
 +
=== Indexes ===
 +
{| border="1" cellpadding="5" cellspacing="0" style="border-collapse:collapse"
 +
|- style="background:silver"
 +
| '''Index
 +
| '''Type
 +
| '''Columns
 +
 +
|-
 +
| AK_Store_rowguid
 +
| Unique
 +
| rowguid
 +
|-
 +
| IX_Store_SalesPersonID
 +
|
 +
| SalesPersonID
 +
|-
 +
| PXML_Store_Demographics
 +
|
 +
| Demographics
 +
|}
  
 +
=== 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 76: Line 107:
 
|}
 
|}
  
 
+
=== Detail Tables ===
 
{| 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 89: Line 120:
 
|}
 
|}
  
 
+
=== 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"
Line 100: Line 131:
 
|}
 
|}
  
 +
Trigger iStore
 +
<pre>
 +
CREATE TRIGGER [Sales].[iStore] ON [Sales].[Store]
 +
AFTER INSERT AS
 +
BEGIN
 +
    DECLARE @Count int;
 +
 +
    SET @Count = @@ROWCOUNT;
 +
    IF @Count = 0
 +
        RETURN;
 +
 +
    SET NOCOUNT ON;
 +
 +
    BEGIN TRY
 +
        -- Only allow the Customer to be a Store OR Individual
 +
        IF EXISTS (SELECT * FROM inserted INNER JOIN [Sales].[Individual]
 +
            ON inserted.[CustomerID] = [Sales].[Individual].[CustomerID])
 +
        BEGIN
 +
            -- Rollback any active or uncommittable transactions
 +
            IF @@TRANCOUNT > 0
 +
            BEGIN
 +
                ROLLBACK TRANSACTION;
 +
            END
 +
        END;
 +
    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"
 
{| border="1" cellpadding="5" cellspacing="0" style="border-collapse:collapse"
 
|- style="background:silver"
 
|- style="background:silver"
Line 114: Line 185:
 
| Type
 
| Type
 
| [[dbo.Name_(type)|dbo.Name]]
 
| [[dbo.Name_(type)|dbo.Name]]
 +
 +
|
 +
|
 +
|-
 +
| Schema
 +
| Schema
 +
| [[Sales_(schema)|Sales]]
  
 
|  
 
|  
Line 147: Line 225:
 
|}
 
|}
  
 
+
=== Dependencies ===
 
{| 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 172: Line 250:
 
| iuIndividual
 
| iuIndividual
 
|}
 
|}
 
  
  

Revision as of 23:07, 2 February 2010

wikibot

Table Sales.Store
Description Customers (resellers) of Adventure Works products.


Columns

Column Data Type Nullable Default Description
CustomerID int not null Primary key. Foreign key to Customer.CustomerID.
Name dbo.Name not null Name of the store.
SalesPersonID int null ID of the sales person assigned to the customer. Foreign key to SalesPerson.SalesPersonID.
Demographics xml null Demographic informationg about the store such as the number of employees, annual sales and store type.
rowguid uniqueidentifier not null (newid()) ROWGUIDCOL number uniquely identifying the record. Used to support a merge replication sample.
ModifiedDate datetime not null (getdate()) Date and time the record was last updated.

Primary Key

Primary Key Columns
PK_Store_CustomerID CustomerID

Indexes

Index Type Columns
AK_Store_rowguid Unique rowguid
IX_Store_SalesPersonID SalesPersonID
PXML_Store_Demographics Demographics

Foreign Keys

Relation Column Referenced Column
Sales.Customer CustomerID CustomerID
Sales.SalesPerson SalesPersonID SalesPersonID

Detail Tables

Detail Table Column Referencing Column
Sales.StoreContact CustomerID CustomerID

Triggers

Triggers Type
iStore ON INSERT

Trigger iStore

CREATE TRIGGER [Sales].[iStore] ON [Sales].[Store] 
AFTER INSERT AS 
BEGIN
    DECLARE @Count int;

    SET @Count = @@ROWCOUNT;
    IF @Count = 0 
        RETURN;

    SET NOCOUNT ON;

    BEGIN TRY
        -- Only allow the Customer to be a Store OR Individual
        IF EXISTS (SELECT * FROM inserted INNER JOIN [Sales].[Individual] 
            ON inserted.[CustomerID] = [Sales].[Individual].[CustomerID]) 
        BEGIN
            -- Rollback any active or uncommittable transactions
            IF @@TRANCOUNT > 0
            BEGIN
                ROLLBACK TRANSACTION;
            END
        END;
    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;

References

Dependency Type Object Type Referenced Object Child Type Child Object
Data Type Type dbo.Name
Schema Schema Sales
Data Type XML Schema Collection Sales.StoreSurveySchemaCollection
Select Table Sales.Individual Trigger iStore
Execute Procedure dbo.uspLogError Trigger iStore
Execute Procedure dbo.uspPrintError Trigger iStore

Dependencies

Reference Type Object Type Referencing Object Child Type Child Object
Select View Sales.vStoreWithDemographics
Select Table Sales.Individual Trigger iuIndividual


automatically generated

Table Sales.Store
Description Customers (resellers) of Adventure Works products.


Column Data Type Nullable Default Description / PK / Index
CustomerID int not null Primary key. Foreign key to Customer.CustomerID.
PK_Store_CustomerID
Name Name not null Name of the store.
SalesPersonID int null ID of the sales person assigned to the customer. Foreign key to SalesPerson.SalesPersonID.
IX_Store_SalesPersonID
Demographics XML null Demographic informationg about the store such as the number of employees, annual sales and store type.
PXML_Store_Demographics
rowguid uniqueidentifier not null (NEWID()) ROWGUIDCOL number uniquely identifying the record. Used to support a merge replication sample.
AK_Store_rowguid
ModifiedDate datetime not null (GETDATE()) Date and time the record was last updated.


Relation Column Referenced Column
Sales.Customer CustomerID CustomerID
Sales.SalesPerson SalesPersonID SalesPersonID


Detail Table Column Referencing Column
Sales.StoreContact CustomerID CustomerID


Triggers Type
iStore ON INSERT


Dependency Type Object Type Referenced Object Child Type Child Object
Data Type Type dbo.Name
Schema Schema Sales
Data Type XML Schema Collection Sales.StoreSurveySchemaCollection
Select Table Sales.Individual Trigger iStore
Execute Procedure dbo.uspLogError Trigger iStore
Execute Procedure dbo.uspPrintError Trigger iStore


Reference Type Object Type Referencing Object Child Type Child Object
Select View Sales.vStoreWithDemographics
Select Table Sales.Individual Trigger iuIndividual