Difference between revisions of "Purchasing.Vendor (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 for Vendor records.<br />PK_Vendor_VendorID
+
| Primary key for Vendor records.
 
|- valign="top"
 
|- valign="top"
 
| AccountNumber
 
| AccountNumber
Line 31: Line 32:
 
| not null
 
| not null
 
|  
 
|  
| Vendor account (identification) number.<br />AK_Vendor_AccountNumber
+
| Vendor account (identification) number.
 
|- valign="top"
 
|- valign="top"
 
| Name
 
| Name
Line 37: Line 38:
 
| not null
 
| not null
 
|  
 
|  
| Company name.<br />
+
| Company name.
 
|- valign="top"
 
|- valign="top"
 
| CreditRating
 
| CreditRating
Line 43: Line 44:
 
| not null
 
| not null
 
|  
 
|  
| 1 = Superior, 2 = Excellent, 3 = Above average, 4 = Average, 5 = Below average<br />
+
| 1 = Superior, 2 = Excellent, 3 = Above average, 4 = Average, 5 = Below average
 
|- valign="top"
 
|- valign="top"
 
| PreferredVendorStatus
 
| PreferredVendorStatus
Line 49: Line 50:
 
| not null
 
| not null
 
| ((1))
 
| ((1))
| 0 = Do not use if another vendor is available. 1 = Preferred over other vendors supplying the same product.<br />
+
| 0 = Do not use if another vendor is available. 1 = Preferred over other vendors supplying the same product.
 
|- valign="top"
 
|- valign="top"
 
| ActiveFlag
 
| ActiveFlag
Line 55: Line 56:
 
| not null
 
| not null
 
| ((1))
 
| ((1))
| 0 = Vendor no longer used. 1 = Vendor is actively used.<br />
+
| 0 = Vendor no longer used. 1 = Vendor is actively used.
 
|- valign="top"
 
|- valign="top"
 
| PurchasingWebServiceURL
 
| PurchasingWebServiceURL
Line 61: Line 62:
 
| null
 
| null
 
|  
 
|  
| Vendor URL.<br />
+
| Vendor URL.
 
|- valign="top"
 
|- valign="top"
 
| ModifiedDate
 
| ModifiedDate
Line 67: Line 68:
 
| 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_Vendor_VendorID
 +
| VendorID
 +
|}
 +
 +
=== Indexes ===
 +
{| border="1" cellpadding="5" cellspacing="0" style="border-collapse:collapse"
 +
|- style="background:silver"
 +
| '''Index
 +
| '''Type
 +
| '''Columns
 +
 +
|-
 +
| AK_Vendor_AccountNumber
 +
| Unique
 +
| AccountNumber
 +
|}
  
 +
=== Check Constraints ===
 +
{| border="1" cellpadding="5" cellspacing="0" style="border-collapse:collapse"
 +
|- style="background:silver"
 +
| '''Check Constraint
 +
| '''Expression
 +
| '''Description
 +
 +
|-
 +
| CK_Vendor_CreditRating
 +
| ([CreditRating]>=(1) AND [CreditRating]<=(5))
 +
| Check constraint [CreditRating] BETWEEN (1) AND (5)
 +
|}
  
 +
=== 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 96: Line 132:
 
|}
 
|}
  
 
+
=== 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 107: Line 143:
 
|}
 
|}
  
 +
Trigger dVendor
 +
<pre>
 +
CREATE TRIGGER [Purchasing].[dVendor] ON [Purchasing].[Vendor]
 +
INSTEAD OF DELETE NOT FOR REPLICATION AS
 +
BEGIN
 +
    DECLARE @Count int;
 +
 +
    SET @Count = @@ROWCOUNT;
 +
    IF @Count = 0
 +
        RETURN;
 +
 +
    SET NOCOUNT ON;
 +
 +
    BEGIN TRY
 +
        DECLARE @DeleteCount int;
 +
 +
        SELECT @DeleteCount = COUNT(*) FROM deleted;
 +
        IF @DeleteCount > 0
 +
        BEGIN
 +
            RAISERROR
 +
                (N'Vendors cannot be deleted. They can only be marked as not active.', -- Message
 +
                10, -- Severity.
 +
                1); -- State.
 +
 +
        -- 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 135: Line 217:
 
| Type
 
| Type
 
| [[dbo.Name_(type)|dbo.Name]]
 
| [[dbo.Name_(type)|dbo.Name]]
 +
 +
|
 +
|
 +
|-
 +
| Schema
 +
| Schema
 +
| [[Purchasing_(schema)|Purchasing]]
  
 
|  
 
|  
Line 154: Line 243:
 
|}
 
|}
  
 
+
=== 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 167: Line 256:
  
 
|}
 
|}
 
  
  

Revision as of 23:06, 2 February 2010

wikibot

Table Purchasing.Vendor
Description Companies from whom Adventure Works Cycles purchases parts or other goods.


Columns

Column Data Type Nullable Default Description
VendorID int not null Primary key for Vendor records.
AccountNumber dbo.AccountNumber not null Vendor account (identification) number.
Name dbo.Name not null Company name.
CreditRating tinyint not null 1 = Superior, 2 = Excellent, 3 = Above average, 4 = Average, 5 = Below average
PreferredVendorStatus dbo.Flag not null ((1)) 0 = Do not use if another vendor is available. 1 = Preferred over other vendors supplying the same product.
ActiveFlag dbo.Flag not null ((1)) 0 = Vendor no longer used. 1 = Vendor is actively used.
PurchasingWebServiceURL nvarchar(1024) null Vendor URL.
ModifiedDate datetime not null (getdate()) Date and time the record was last updated.

Primary Key

Primary Key Columns
PK_Vendor_VendorID VendorID

Indexes

Index Type Columns
AK_Vendor_AccountNumber Unique AccountNumber

Check Constraints

Check Constraint Expression Description
CK_Vendor_CreditRating ([CreditRating]>=(1) AND [CreditRating]<=(5)) Check constraint [CreditRating] BETWEEN (1) AND (5)

Detail Tables

Detail Table Column Referencing Column
Purchasing.ProductVendor VendorID VendorID
Purchasing.PurchaseOrderHeader VendorID VendorID
Purchasing.VendorAddress VendorID VendorID
Purchasing.VendorContact VendorID VendorID

Triggers

Triggers Type
dVendor INSTEAD OF DELETE

Trigger dVendor

CREATE TRIGGER [Purchasing].[dVendor] ON [Purchasing].[Vendor] 
INSTEAD OF DELETE NOT FOR REPLICATION AS 
BEGIN
    DECLARE @Count int;

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

    SET NOCOUNT ON;

    BEGIN TRY
        DECLARE @DeleteCount int;

        SELECT @DeleteCount = COUNT(*) FROM deleted;
        IF @DeleteCount > 0 
        BEGIN
            RAISERROR
                (N'Vendors cannot be deleted. They can only be marked as not active.', -- Message
                10, -- Severity.
                1); -- State.

        -- 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.AccountNumber
Data Type Type dbo.Flag
Data Type Type dbo.Name
Schema Schema Purchasing
Execute Procedure dbo.uspLogError Trigger dVendor
Execute Procedure dbo.uspPrintError Trigger dVendor

Dependencies

Reference Type Object Type Referencing Object
Select View Purchasing.vVendor


automatically generated

Table Purchasing.Vendor
Description Companies from whom Adventure Works Cycles purchases parts or other goods.


Column Data Type Nullable Default Description / PK / Index
VendorID int not null Primary key for Vendor records.
PK_Vendor_VendorID
AccountNumber AccountNumber not null Vendor account (identification) number.
AK_Vendor_AccountNumber
Name Name not null Company name.
CreditRating tinyint not null 1 = Superior, 2 = Excellent, 3 = Above average, 4 = Average, 5 = Below average
PreferredVendorStatus Flag not null (1) 0 = Do not use if another vendor is available. 1 = Preferred over other vendors supplying the same product.
ActiveFlag Flag not null (1) 0 = Vendor no longer used. 1 = Vendor is actively used.
PurchasingWebServiceURL nvarchar(1024) null Vendor URL.
ModifiedDate datetime not null (GETDATE()) Date and time the record was last updated.


Detail Table Column Referencing Column
Purchasing.ProductVendor VendorID VendorID
Purchasing.PurchaseOrderHeader VendorID VendorID
Purchasing.VendorAddress VendorID VendorID
Purchasing.VendorContact VendorID VendorID


Triggers Type
dVendor INSTEAD OF DELETE


Dependency Type Object Type Referenced Object Child Type Child Object
Data Type Type dbo.AccountNumber
Data Type Type dbo.Flag
Data Type Type dbo.Name
Schema Schema Purchasing
Execute Procedure dbo.uspLogError Trigger dVendor
Execute Procedure dbo.uspPrintError Trigger dVendor


Reference Type Object Type Referencing Object
Select View Purchasing.vVendor