Click here to Skip to main content
15,892,746 members
Articles / Web Development / ASP.NET

The power of SubSonic unleashed

Rate me:
Please Sign up or sign in to vote.
5.00/5 (1 vote)
29 May 2009CPOL5 min read 37.3K   346   24  
Provides a demo for a generic page presenting the contents of a database.
<!-- code formatted by http://manoli.net/csharpformat/ -->
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: Consolas, "Courier New", Courier, Monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}

.csharpcode pre { margin: 0em; }

.csharpcode .rem { color: #008000; }

.csharpcode .kwrd { color: #0000ff; }

.csharpcode .str { color: #006080; }

.csharpcode .op { color: #0000c0; }

.csharpcode .preproc { color: #cc6633; }

.csharpcode .asp { background-color: #ffff00; }

.csharpcode .html { color: #800000; }

.csharpcode .attr { color: #ff0000; }

.csharpcode .alt
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}

.csharpcode .lnum { color: #606060; }
</style>
<pre class="csharpcode">
/****** <span class="kwrd">Object</span>:  StoredProcedure [dbo].[Peaches]    Script <span class="kwrd">Date</span>: 05/07/2007 19:44:22 ******/
<span class="kwrd">SET</span> ANSI_NULLS <span class="kwrd">ON</span>
<span class="kwrd">SET</span> QUOTED_IDENTIFIER <span class="kwrd">ON</span>
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.objects <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[Peaches]'</span>) <span class="kwrd">AND</span> type <span class="kwrd">in</span> (N<span class="str">'P'</span>, N<span class="str">'PC'</span>))
<span class="kwrd">BEGIN</span>
<span class="kwrd">EXEC</span> dbo.sp_executesql @<span class="kwrd">statement</span> = N<span class="str">'CREATE PROCEDURE Peaches
(
    @tablename nvarchar(50),
    @mapSuffix nvarchar(50)='</span><span class="str">'_Map'</span><span class="str">'
)
AS
BEGIN
SELECT kcu.TABLE_NAME as ForeignTable
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE KCU
JOIN INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS RC ON KCU.CONSTRAINT_NAME=RC.CONSTRAINT_NAME
JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS TC  ON RC.UNIQUE_CONSTRAINT_NAME=TC.CONSTRAINT_NAME
WHERE tc.table_name=@tablename
AND kcu.table_name LIKE '</span><span class="str">'%'</span><span class="str">'+@mapSuffix
END
'</span>
<span class="kwrd">END</span>
/****** <span class="kwrd">Object</span>:  StoredProcedure [dbo].[SubSonicTest]    Script <span class="kwrd">Date</span>: 05/07/2007 19:44:22 ******/
<span class="kwrd">SET</span> ANSI_NULLS <span class="kwrd">ON</span>
<span class="kwrd">SET</span> QUOTED_IDENTIFIER <span class="kwrd">ON</span>
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.objects <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[SubSonicTest]'</span>) <span class="kwrd">AND</span> type <span class="kwrd">in</span> (N<span class="str">'P'</span>, N<span class="str">'PC'</span>))
<span class="kwrd">BEGIN</span>
<span class="kwrd">EXEC</span> dbo.sp_executesql @<span class="kwrd">statement</span> = N<span class="str">'CREATE PROCEDURE dbo.SubSonicTest
    (
    @param DateTime OUTPUT
    )
AS
    SET @param=getdate()
    RETURN
'</span>
<span class="kwrd">END</span>
/****** <span class="kwrd">Object</span>:  <span class="kwrd">View</span> [dbo].[Orders Qry]    Script <span class="kwrd">Date</span>: 05/07/2007 19:44:22 ******/
<span class="kwrd">SET</span> ANSI_NULLS <span class="kwrd">ON</span>
<span class="kwrd">SET</span> QUOTED_IDENTIFIER <span class="kwrd">ON</span>
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.views <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[Orders Qry]'</span>))
<span class="kwrd">EXEC</span> dbo.sp_executesql @<span class="kwrd">statement</span> = N<span class="str">'
create view "Orders Qry" AS
SELECT Orders.OrderID, Orders.CustomerID, Orders.EmployeeID, Orders.OrderDate, Orders.RequiredDate,
    Orders.ShippedDate, Orders.ShipVia, Orders.Freight, Orders.ShipName, Orders.ShipAddress, Orders.ShipCity,
    Orders.ShipRegion, Orders.ShipPostalCode, Orders.ShipCountry,
    Customers.CompanyName, Customers.Address, Customers.City, Customers.Region, Customers.PostalCode, Customers.Country
FROM Customers INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID
'</span>
/****** <span class="kwrd">Object</span>:  <span class="kwrd">View</span> [dbo].[Quarterly Orders]    Script <span class="kwrd">Date</span>: 05/07/2007 19:44:22 ******/
<span class="kwrd">SET</span> ANSI_NULLS <span class="kwrd">ON</span>
<span class="kwrd">SET</span> QUOTED_IDENTIFIER <span class="kwrd">ON</span>
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.views <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[Quarterly Orders]'</span>))
<span class="kwrd">EXEC</span> dbo.sp_executesql @<span class="kwrd">statement</span> = N<span class="str">'
create view "Quarterly Orders" AS
SELECT DISTINCT Customers.CustomerID, Customers.CompanyName, Customers.City, Customers.Country
FROM Customers RIGHT JOIN Orders ON Customers.CustomerID = Orders.CustomerID
WHERE Orders.OrderDate BETWEEN '</span><span class="str">'19970101'</span><span class="str">' And '</span><span class="str">'19971231'</span><span class="str">'
'</span>
/****** <span class="kwrd">Object</span>:  <span class="kwrd">View</span> [dbo].[Invoices]    Script <span class="kwrd">Date</span>: 05/07/2007 19:44:22 ******/
<span class="kwrd">SET</span> ANSI_NULLS <span class="kwrd">ON</span>
<span class="kwrd">SET</span> QUOTED_IDENTIFIER <span class="kwrd">ON</span>
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.views <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[Invoices]'</span>))
<span class="kwrd">EXEC</span> dbo.sp_executesql @<span class="kwrd">statement</span> = N<span class="str">'
create view Invoices AS
SELECT Orders.ShipName, Orders.ShipAddress, Orders.ShipCity, Orders.ShipRegion, Orders.ShipPostalCode,
    Orders.ShipCountry, Orders.CustomerID, Customers.CompanyName AS CustomerName, Customers.Address, Customers.City,
    Customers.Region, Customers.PostalCode, Customers.Country,
    (FirstName + '</span><span class="str">' '</span><span class="str">' + LastName) AS Salesperson,
    Orders.OrderID, Orders.OrderDate, Orders.RequiredDate, Orders.ShippedDate, Shippers.CompanyName As ShipperName,
    "Order Details".ProductID, Products.ProductName, "Order Details".UnitPrice, "Order Details".Quantity,
    "Order Details".Discount,
    (CONVERT(money,("Order Details".UnitPrice*Quantity*(1-Discount)/100))*100) AS ExtendedPrice, Orders.Freight
FROM     Shippers INNER JOIN
        (Products INNER JOIN
            (
                (Employees INNER JOIN
                    (Customers INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID)
                ON Employees.EmployeeID = Orders.EmployeeID)
            INNER JOIN "Order Details" ON Orders.OrderID = "Order Details".OrderID)
        ON Products.ProductID = "Order Details".ProductID)
    ON Shippers.ShipperID = Orders.ShipVia
'</span>
/****** <span class="kwrd">Object</span>:  <span class="kwrd">View</span> [dbo].[Product Sales <span class="kwrd">for</span> 1997]    Script <span class="kwrd">Date</span>: 05/07/2007 19:44:22 ******/
<span class="kwrd">SET</span> ANSI_NULLS <span class="kwrd">ON</span>
<span class="kwrd">SET</span> QUOTED_IDENTIFIER <span class="kwrd">ON</span>
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.views <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[Product Sales for 1997]'</span>))
<span class="kwrd">EXEC</span> dbo.sp_executesql @<span class="kwrd">statement</span> = N<span class="str">'
create view "Product Sales for 1997" AS
SELECT Categories.CategoryName, Products.ProductName,
Sum(CONVERT(money,("Order Details".UnitPrice*Quantity*(1-Discount)/100))*100) AS ProductSales
FROM (Categories INNER JOIN Products ON Categories.CategoryID = Products.CategoryID)
    INNER JOIN (Orders
        INNER JOIN "Order Details" ON Orders.OrderID = "Order Details".OrderID)
    ON Products.ProductID = "Order Details".ProductID
WHERE (((Orders.ShippedDate) Between '</span><span class="str">'19970101'</span><span class="str">' And '</span><span class="str">'19971231'</span><span class="str">'))
GROUP BY Categories.CategoryName, Products.ProductName
'</span>
/****** <span class="kwrd">Object</span>:  <span class="kwrd">View</span> [dbo].[<span class="kwrd">Order</span> Details Extended]    Script <span class="kwrd">Date</span>: 05/07/2007 19:44:22 ******/
<span class="kwrd">SET</span> ANSI_NULLS <span class="kwrd">ON</span>
<span class="kwrd">SET</span> QUOTED_IDENTIFIER <span class="kwrd">ON</span>
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.views <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[Order Details Extended]'</span>))
<span class="kwrd">EXEC</span> dbo.sp_executesql @<span class="kwrd">statement</span> = N<span class="str">'
create view "Order Details Extended" AS
SELECT "Order Details".OrderID, "Order Details".ProductID, Products.ProductName,
    "Order Details".UnitPrice, "Order Details".Quantity, "Order Details".Discount,
    (CONVERT(money,("Order Details".UnitPrice*Quantity*(1-Discount)/100))*100) AS ExtendedPrice
FROM Products INNER JOIN "Order Details" ON Products.ProductID = "Order Details".ProductID
--ORDER BY "Order Details".OrderID
'</span>
/****** <span class="kwrd">Object</span>:  <span class="kwrd">View</span> [dbo].[Products Above Average Price]    Script <span class="kwrd">Date</span>: 05/07/2007 19:44:22 ******/
<span class="kwrd">SET</span> ANSI_NULLS <span class="kwrd">ON</span>
<span class="kwrd">SET</span> QUOTED_IDENTIFIER <span class="kwrd">ON</span>
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.views <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[Products Above Average Price]'</span>))
<span class="kwrd">EXEC</span> dbo.sp_executesql @<span class="kwrd">statement</span> = N<span class="str">'
create view "Products Above Average Price" AS
SELECT Products.ProductName, Products.UnitPrice
FROM Products
WHERE Products.UnitPrice&gt;(SELECT AVG(UnitPrice) From Products)
--ORDER BY Products.UnitPrice DESC
'</span>
/****** <span class="kwrd">Object</span>:  <span class="kwrd">View</span> [dbo].[Products <span class="kwrd">by</span> Category]    Script <span class="kwrd">Date</span>: 05/07/2007 19:44:22 ******/
<span class="kwrd">SET</span> ANSI_NULLS <span class="kwrd">ON</span>
<span class="kwrd">SET</span> QUOTED_IDENTIFIER <span class="kwrd">ON</span>
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.views <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[Products by Category]'</span>))
<span class="kwrd">EXEC</span> dbo.sp_executesql @<span class="kwrd">statement</span> = N<span class="str">'
create view "Products by Category" AS
SELECT Categories.CategoryName, Products.ProductName, Products.QuantityPerUnit, Products.UnitsInStock, Products.Discontinued
FROM Categories INNER JOIN Products ON Categories.CategoryID = Products.CategoryID
WHERE Products.Discontinued &lt;&gt; 1
--ORDER BY Categories.CategoryName, Products.ProductName
'</span>
/****** <span class="kwrd">Object</span>:  <span class="kwrd">View</span> [dbo].[Alphabetical list <span class="kwrd">of</span> products]    Script <span class="kwrd">Date</span>: 05/07/2007 19:44:22 ******/
<span class="kwrd">SET</span> ANSI_NULLS <span class="kwrd">ON</span>
<span class="kwrd">SET</span> QUOTED_IDENTIFIER <span class="kwrd">ON</span>
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.views <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[Alphabetical list of products]'</span>))
<span class="kwrd">EXEC</span> dbo.sp_executesql @<span class="kwrd">statement</span> = N<span class="str">'
create view "Alphabetical list of products" AS
SELECT Products.*, Categories.CategoryName
FROM Categories INNER JOIN Products ON Categories.CategoryID = Products.CategoryID
WHERE (((Products.Discontinued)=0))
'</span>
/****** <span class="kwrd">Object</span>:  <span class="kwrd">View</span> [dbo].[<span class="kwrd">Current</span> Product List]    Script <span class="kwrd">Date</span>: 05/07/2007 19:44:22 ******/
<span class="kwrd">SET</span> ANSI_NULLS <span class="kwrd">ON</span>
<span class="kwrd">SET</span> QUOTED_IDENTIFIER <span class="kwrd">ON</span>
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.views <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[Current Product List]'</span>))
<span class="kwrd">EXEC</span> dbo.sp_executesql @<span class="kwrd">statement</span> = N<span class="str">'
create view "Current Product List" AS
SELECT Product_List.ProductID, Product_List.ProductName
FROM Products AS Product_List
WHERE (((Product_List.Discontinued)=0))
--ORDER BY Product_List.ProductName
'</span>
/****** <span class="kwrd">Object</span>:  <span class="kwrd">View</span> [dbo].[<span class="kwrd">Order</span> Subtotals]    Script <span class="kwrd">Date</span>: 05/07/2007 19:44:22 ******/
<span class="kwrd">SET</span> ANSI_NULLS <span class="kwrd">ON</span>
<span class="kwrd">SET</span> QUOTED_IDENTIFIER <span class="kwrd">ON</span>
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.views <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[Order Subtotals]'</span>))
<span class="kwrd">EXEC</span> dbo.sp_executesql @<span class="kwrd">statement</span> = N<span class="str">'
create view "Order Subtotals" AS
SELECT "Order Details".OrderID, Sum(CONVERT(money,("Order Details".UnitPrice*Quantity*(1-Discount)/100))*100) AS Subtotal
FROM "Order Details"
GROUP BY "Order Details".OrderID
'</span>
/****** <span class="kwrd">Object</span>:  <span class="kwrd">View</span> [dbo].[Customer <span class="kwrd">and</span> Suppliers <span class="kwrd">by</span> City]    Script <span class="kwrd">Date</span>: 05/07/2007 19:44:22 ******/
<span class="kwrd">SET</span> ANSI_NULLS <span class="kwrd">ON</span>
<span class="kwrd">SET</span> QUOTED_IDENTIFIER <span class="kwrd">ON</span>
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.views <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[Customer and Suppliers by City]'</span>))
<span class="kwrd">EXEC</span> dbo.sp_executesql @<span class="kwrd">statement</span> = N<span class="str">'
create view "Customer and Suppliers by City" AS
SELECT City, CompanyName, ContactName, '</span><span class="str">'Customers'</span><span class="str">' AS Relationship
FROM Customers
UNION SELECT City, CompanyName, ContactName, '</span><span class="str">'Suppliers'</span><span class="str">'
FROM Suppliers
--ORDER BY City, CompanyName
'</span>
/****** <span class="kwrd">Object</span>:  StoredProcedure [dbo].[SalesByCategory]    Script <span class="kwrd">Date</span>: 05/07/2007 19:44:22 ******/
<span class="kwrd">SET</span> ANSI_NULLS <span class="kwrd">ON</span>
<span class="kwrd">SET</span> QUOTED_IDENTIFIER <span class="kwrd">ON</span>
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.objects <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[SalesByCategory]'</span>) <span class="kwrd">AND</span> type <span class="kwrd">in</span> (N<span class="str">'P'</span>, N<span class="str">'PC'</span>))
<span class="kwrd">BEGIN</span>
<span class="kwrd">EXEC</span> dbo.sp_executesql @<span class="kwrd">statement</span> = N<span class="str">'CREATE PROCEDURE SalesByCategory
    @CategoryName nvarchar(15), @OrdYear nvarchar(4) = '</span><span class="str">'1998'</span><span class="str">'
AS
IF @OrdYear != '</span><span class="str">'1996'</span><span class="str">' AND @OrdYear != '</span><span class="str">'1997'</span><span class="str">' AND @OrdYear != '</span><span class="str">'1998'</span><span class="str">'
BEGIN
    SELECT @OrdYear = '</span><span class="str">'1998'</span><span class="str">'
END

SELECT ProductName,
    TotalPurchase=ROUND(SUM(CONVERT(decimal(14,2), OD.Quantity * (1-OD.Discount) * OD.UnitPrice)), 0)
FROM [Order Details] OD, Orders O, Products P, Categories C
WHERE OD.OrderID = O.OrderID
    AND OD.ProductID = P.ProductID
    AND P.CategoryID = C.CategoryID
    AND C.CategoryName = @CategoryName
    AND SUBSTRING(CONVERT(nvarchar(22), O.OrderDate, 111), 1, 4) = @OrdYear
GROUP BY ProductName
ORDER BY ProductName
'</span>
<span class="kwrd">END</span>
/****** <span class="kwrd">Object</span>:  StoredProcedure [dbo].[CustOrdersOrders]    Script <span class="kwrd">Date</span>: 05/07/2007 19:44:22 ******/
<span class="kwrd">SET</span> ANSI_NULLS <span class="kwrd">ON</span>
<span class="kwrd">SET</span> QUOTED_IDENTIFIER <span class="kwrd">ON</span>
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.objects <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[CustOrdersOrders]'</span>) <span class="kwrd">AND</span> type <span class="kwrd">in</span> (N<span class="str">'P'</span>, N<span class="str">'PC'</span>))
<span class="kwrd">BEGIN</span>
<span class="kwrd">EXEC</span> dbo.sp_executesql @<span class="kwrd">statement</span> = N<span class="str">'
CREATE PROCEDURE CustOrdersOrders @CustomerID nchar(5)
AS
SELECT OrderID,
    OrderDate,
    RequiredDate,
    ShippedDate
FROM Orders
WHERE CustomerID = @CustomerID
ORDER BY OrderID
'</span>
<span class="kwrd">END</span>
/****** <span class="kwrd">Object</span>:  StoredProcedure [dbo].[CustOrderHist]    Script <span class="kwrd">Date</span>: 05/07/2007 19:44:22 ******/
<span class="kwrd">SET</span> ANSI_NULLS <span class="kwrd">ON</span>
<span class="kwrd">SET</span> QUOTED_IDENTIFIER <span class="kwrd">ON</span>
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.objects <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[CustOrderHist]'</span>) <span class="kwrd">AND</span> type <span class="kwrd">in</span> (N<span class="str">'P'</span>, N<span class="str">'PC'</span>))
<span class="kwrd">BEGIN</span>
<span class="kwrd">EXEC</span> dbo.sp_executesql @<span class="kwrd">statement</span> = N<span class="str">'CREATE PROCEDURE [dbo].[CustOrderHist]
    @CustomerID nchar(5)
AS
SELECT ProductName, Total=SUM(Quantity)
FROM Products P, [Order Details] OD, Orders O, Customers C
WHERE C.CustomerID = @CustomerID
AND C.CustomerID = O.CustomerID AND O.OrderID = OD.OrderID AND OD.ProductID = P.ProductID
GROUP BY ProductName


'</span>
<span class="kwrd">END</span>
/****** <span class="kwrd">Object</span>:  StoredProcedure [dbo].[CustOrdersDetail]    Script <span class="kwrd">Date</span>: 05/07/2007 19:44:22 ******/
<span class="kwrd">SET</span> ANSI_NULLS <span class="kwrd">ON</span>
<span class="kwrd">SET</span> QUOTED_IDENTIFIER <span class="kwrd">ON</span>
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.objects <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[CustOrdersDetail]'</span>) <span class="kwrd">AND</span> type <span class="kwrd">in</span> (N<span class="str">'P'</span>, N<span class="str">'PC'</span>))
<span class="kwrd">BEGIN</span>
<span class="kwrd">EXEC</span> dbo.sp_executesql @<span class="kwrd">statement</span> = N<span class="str">'
CREATE PROCEDURE CustOrdersDetail @OrderID int
AS
SELECT ProductName,
    UnitPrice=ROUND(Od.UnitPrice, 2),
    Quantity,
    Discount=CONVERT(int, Discount * 100),
    ExtendedPrice=ROUND(CONVERT(money, Quantity * (1 - Discount) * Od.UnitPrice), 2)
FROM Products P, [Order Details] Od
WHERE Od.ProductID = P.ProductID and Od.OrderID = @OrderID
'</span>
<span class="kwrd">END</span>
/****** <span class="kwrd">Object</span>:  StoredProcedure [dbo].[Ten Most Expensive Products]    Script <span class="kwrd">Date</span>: 05/07/2007 19:44:22 ******/
<span class="kwrd">SET</span> ANSI_NULLS <span class="kwrd">ON</span>
<span class="kwrd">SET</span> QUOTED_IDENTIFIER <span class="kwrd">ON</span>
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.objects <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[Ten Most Expensive Products]'</span>) <span class="kwrd">AND</span> type <span class="kwrd">in</span> (N<span class="str">'P'</span>, N<span class="str">'PC'</span>))
<span class="kwrd">BEGIN</span>
<span class="kwrd">EXEC</span> dbo.sp_executesql @<span class="kwrd">statement</span> = N<span class="str">'
create procedure "Ten Most Expensive Products" AS
SET ROWCOUNT 10
SELECT Products.ProductName AS TenMostExpensiveProducts, Products.UnitPrice
FROM Products
ORDER BY Products.UnitPrice DESC
'</span>
<span class="kwrd">END</span>
/****** <span class="kwrd">Object</span>:  StoredProcedure [dbo].[Sales <span class="kwrd">by</span> <span class="kwrd">Year</span>]    Script <span class="kwrd">Date</span>: 05/07/2007 19:44:22 ******/
<span class="kwrd">SET</span> ANSI_NULLS <span class="kwrd">ON</span>
<span class="kwrd">SET</span> QUOTED_IDENTIFIER <span class="kwrd">ON</span>
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.objects <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[Sales by Year]'</span>) <span class="kwrd">AND</span> type <span class="kwrd">in</span> (N<span class="str">'P'</span>, N<span class="str">'PC'</span>))
<span class="kwrd">BEGIN</span>
<span class="kwrd">EXEC</span> dbo.sp_executesql @<span class="kwrd">statement</span> = N<span class="str">'
create procedure "Sales by Year"
    @Beginning_Date DateTime, @Ending_Date DateTime AS
SELECT Orders.ShippedDate, Orders.OrderID, "Order Subtotals".Subtotal, DATENAME(yy,ShippedDate) AS Year
FROM Orders INNER JOIN "Order Subtotals" ON Orders.OrderID = "Order Subtotals".OrderID
WHERE Orders.ShippedDate Between @Beginning_Date And @Ending_Date
'</span>
<span class="kwrd">END</span>
/****** <span class="kwrd">Object</span>:  StoredProcedure [dbo].[Employee Sales <span class="kwrd">by</span> Country]    Script <span class="kwrd">Date</span>: 05/07/2007 19:44:22 ******/
<span class="kwrd">SET</span> ANSI_NULLS <span class="kwrd">ON</span>
<span class="kwrd">SET</span> QUOTED_IDENTIFIER <span class="kwrd">ON</span>
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.objects <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[Employee Sales by Country]'</span>) <span class="kwrd">AND</span> type <span class="kwrd">in</span> (N<span class="str">'P'</span>, N<span class="str">'PC'</span>))
<span class="kwrd">BEGIN</span>
<span class="kwrd">EXEC</span> dbo.sp_executesql @<span class="kwrd">statement</span> = N<span class="str">'
create procedure "Employee Sales by Country"
@Beginning_Date DateTime, @Ending_Date DateTime AS
SELECT Employees.Country, Employees.LastName, Employees.FirstName, Orders.ShippedDate, Orders.OrderID, "Order Subtotals".Subtotal AS SaleAmount
FROM Employees INNER JOIN
    (Orders INNER JOIN "Order Subtotals" ON Orders.OrderID = "Order Subtotals".OrderID)
    ON Employees.EmployeeID = Orders.EmployeeID
WHERE Orders.ShippedDate Between @Beginning_Date And @Ending_Date
'</span>
<span class="kwrd">END</span>
/****** <span class="kwrd">Object</span>:  <span class="kwrd">Table</span> [dbo].[CustomerDemographics]    Script <span class="kwrd">Date</span>: 05/07/2007 19:44:22 ******/
<span class="kwrd">SET</span> ANSI_NULLS <span class="kwrd">ON</span>
<span class="kwrd">SET</span> QUOTED_IDENTIFIER <span class="kwrd">ON</span>
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.objects <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[CustomerDemographics]'</span>) <span class="kwrd">AND</span> type <span class="kwrd">in</span> (N<span class="str">'U'</span>))
<span class="kwrd">BEGIN</span>
<span class="kwrd">CREATE</span> <span class="kwrd">TABLE</span> [dbo].[CustomerDemographics](
    [CustomerTypeID] [<span class="kwrd">nchar</span>](10) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NOT</span> <span class="kwrd">NULL</span>,
    [CustomerDesc] [ntext] <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
 <span class="kwrd">CONSTRAINT</span> [PK_CustomerDemographics] <span class="kwrd">PRIMARY</span> <span class="kwrd">KEY</span> <span class="kwrd">NONCLUSTERED</span>
(
    [CustomerTypeID] <span class="kwrd">ASC</span>
)<span class="kwrd">WITH</span> (PAD_INDEX  = <span class="kwrd">OFF</span>, STATISTICS_NORECOMPUTE  = <span class="kwrd">OFF</span>, IGNORE_DUP_KEY = <span class="kwrd">OFF</span>, ALLOW_ROW_LOCKS  = <span class="kwrd">ON</span>, ALLOW_PAGE_LOCKS  = <span class="kwrd">ON</span>) <span class="kwrd">ON</span> [<span class="kwrd">PRIMARY</span>]
) <span class="kwrd">ON</span> [<span class="kwrd">PRIMARY</span>] TEXTIMAGE_ON [<span class="kwrd">PRIMARY</span>]
<span class="kwrd">END</span>
/****** <span class="kwrd">Object</span>:  <span class="kwrd">Table</span> [dbo].[Region]    Script <span class="kwrd">Date</span>: 05/07/2007 19:44:22 ******/
<span class="kwrd">SET</span> ANSI_NULLS <span class="kwrd">ON</span>
<span class="kwrd">SET</span> QUOTED_IDENTIFIER <span class="kwrd">ON</span>
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.objects <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[Region]'</span>) <span class="kwrd">AND</span> type <span class="kwrd">in</span> (N<span class="str">'U'</span>))
<span class="kwrd">BEGIN</span>
<span class="kwrd">CREATE</span> <span class="kwrd">TABLE</span> [dbo].[Region](
    [RegionID] [<span class="kwrd">int</span>]  <span class="kwrd">IDENTITY</span>(1,1) <span class="kwrd">NOT</span> <span class="kwrd">NULL</span>,
    [RegionDescription] [<span class="kwrd">nchar</span>](50) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NOT</span> <span class="kwrd">NULL</span>,
 <span class="kwrd">CONSTRAINT</span> [PK_Region] <span class="kwrd">PRIMARY</span> <span class="kwrd">KEY</span> <span class="kwrd">NONCLUSTERED</span>
(
    [RegionID] <span class="kwrd">ASC</span>
)<span class="kwrd">WITH</span> (PAD_INDEX  = <span class="kwrd">OFF</span>, STATISTICS_NORECOMPUTE  = <span class="kwrd">OFF</span>, IGNORE_DUP_KEY = <span class="kwrd">OFF</span>, ALLOW_ROW_LOCKS  = <span class="kwrd">ON</span>, ALLOW_PAGE_LOCKS  = <span class="kwrd">ON</span>) <span class="kwrd">ON</span> [<span class="kwrd">PRIMARY</span>]
) <span class="kwrd">ON</span> [<span class="kwrd">PRIMARY</span>]
<span class="kwrd">END</span>
/****** <span class="kwrd">Object</span>:  <span class="kwrd">Table</span> [dbo].[TextEntry]    Script <span class="kwrd">Date</span>: 05/07/2007 19:44:22 ******/
<span class="kwrd">SET</span> ANSI_NULLS <span class="kwrd">ON</span>
<span class="kwrd">SET</span> QUOTED_IDENTIFIER <span class="kwrd">ON</span>
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.objects <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[TextEntry]'</span>) <span class="kwrd">AND</span> type <span class="kwrd">in</span> (N<span class="str">'U'</span>))
<span class="kwrd">BEGIN</span>
<span class="kwrd">CREATE</span> <span class="kwrd">TABLE</span> [dbo].[TextEntry](
    [contentID] [<span class="kwrd">int</span>] <span class="kwrd">IDENTITY</span>(1,1) <span class="kwrd">NOT</span> <span class="kwrd">NULL</span>,
    [contentGUID] [uniqueidentifier] <span class="kwrd">NOT</span> <span class="kwrd">NULL</span> <span class="kwrd">CONSTRAINT</span> [DF_CONTENT_Text_contentGUID]  <span class="kwrd">DEFAULT</span> (newid()),
    [title] [nvarchar](500) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [contentName] [nvarchar](50) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NOT</span> <span class="kwrd">NULL</span>,
    [content] [nvarchar](3000) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [iconPath] [nvarchar](250) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [dateExpires] [datetime] <span class="kwrd">NULL</span>,
    [lastEditedBy] [nvarchar](100) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [externalLink] [nvarchar](250) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [status] [nvarchar](50) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [listOrder] [<span class="kwrd">int</span>] <span class="kwrd">NOT</span> <span class="kwrd">NULL</span> <span class="kwrd">CONSTRAINT</span> [DF_CONTENT_Text_listOrder]  <span class="kwrd">DEFAULT</span> ((1)),
    [callOut] [nvarchar](250) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [createdOn] [datetime] <span class="kwrd">NULL</span> <span class="kwrd">CONSTRAINT</span> [DF_CSK_Content_Text_createdOn]  <span class="kwrd">DEFAULT</span> (getdate()),
    [createdBy] [nvarchar](50) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [modifiedOn] [datetime] <span class="kwrd">NULL</span> <span class="kwrd">CONSTRAINT</span> [DF_CSK_Content_Text_modifiedOn]  <span class="kwrd">DEFAULT</span> (getdate()),
    [modifiedBy] [nvarchar](50) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
 <span class="kwrd">CONSTRAINT</span> [PK_CONTENT_Text] <span class="kwrd">PRIMARY</span> <span class="kwrd">KEY</span> <span class="kwrd">CLUSTERED</span>
(
    [contentID] <span class="kwrd">ASC</span>
)<span class="kwrd">WITH</span> (PAD_INDEX  = <span class="kwrd">OFF</span>, STATISTICS_NORECOMPUTE  = <span class="kwrd">OFF</span>, IGNORE_DUP_KEY = <span class="kwrd">OFF</span>, ALLOW_ROW_LOCKS  = <span class="kwrd">ON</span>, ALLOW_PAGE_LOCKS  = <span class="kwrd">ON</span>) <span class="kwrd">ON</span> [<span class="kwrd">PRIMARY</span>]
) <span class="kwrd">ON</span> [<span class="kwrd">PRIMARY</span>]
<span class="kwrd">END</span>
/****** <span class="kwrd">Object</span>:  <span class="kwrd">Table</span> [dbo].[Employees]    Script <span class="kwrd">Date</span>: 05/07/2007 19:44:22 ******/
<span class="kwrd">SET</span> ANSI_NULLS <span class="kwrd">ON</span>
<span class="kwrd">SET</span> QUOTED_IDENTIFIER <span class="kwrd">ON</span>
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.objects <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[Employees]'</span>) <span class="kwrd">AND</span> type <span class="kwrd">in</span> (N<span class="str">'U'</span>))
<span class="kwrd">BEGIN</span>
<span class="kwrd">CREATE</span> <span class="kwrd">TABLE</span> [dbo].[Employees](
    [EmployeeID] [<span class="kwrd">int</span>] <span class="kwrd">IDENTITY</span>(1,1) <span class="kwrd">NOT</span> <span class="kwrd">NULL</span>,
    [LastName] [nvarchar](20) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NOT</span> <span class="kwrd">NULL</span>,
    [FirstName] [nvarchar](10) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NOT</span> <span class="kwrd">NULL</span>,
    [Title] [nvarchar](30) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [TitleOfCourtesy] [nvarchar](25) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [BirthDate] [datetime] <span class="kwrd">NULL</span>,
    [HireDate] [datetime] <span class="kwrd">NULL</span>,
    [Address] [nvarchar](60) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [City] [nvarchar](15) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [Region] [nvarchar](15) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [PostalCode] [nvarchar](10) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [Country] [nvarchar](15) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [HomePhone] [nvarchar](24) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [Extension] [nvarchar](4) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [Photo] [image] <span class="kwrd">NULL</span>,
    [Notes] [ntext] <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [ReportsTo] [<span class="kwrd">int</span>] <span class="kwrd">NULL</span>,
    [PhotoPath] [nvarchar](255) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [Deleted] [<span class="kwrd">bit</span>] <span class="kwrd">NOT</span> <span class="kwrd">NULL</span> <span class="kwrd">CONSTRAINT</span> [DF_Employees_Deleted]  <span class="kwrd">DEFAULT</span> ((0)),
 <span class="kwrd">CONSTRAINT</span> [PK_Employees] <span class="kwrd">PRIMARY</span> <span class="kwrd">KEY</span> <span class="kwrd">CLUSTERED</span>
(
    [EmployeeID] <span class="kwrd">ASC</span>
)<span class="kwrd">WITH</span> (PAD_INDEX  = <span class="kwrd">OFF</span>, STATISTICS_NORECOMPUTE  = <span class="kwrd">OFF</span>, IGNORE_DUP_KEY = <span class="kwrd">OFF</span>, ALLOW_ROW_LOCKS  = <span class="kwrd">ON</span>, ALLOW_PAGE_LOCKS  = <span class="kwrd">ON</span>) <span class="kwrd">ON</span> [<span class="kwrd">PRIMARY</span>]
) <span class="kwrd">ON</span> [<span class="kwrd">PRIMARY</span>] TEXTIMAGE_ON [<span class="kwrd">PRIMARY</span>]
<span class="kwrd">END</span>
/****** <span class="kwrd">Object</span>:  <span class="kwrd">Table</span> [dbo].[Categories]    Script <span class="kwrd">Date</span>: 05/07/2007 19:44:22 ******/
<span class="kwrd">SET</span> ANSI_NULLS <span class="kwrd">ON</span>
<span class="kwrd">SET</span> QUOTED_IDENTIFIER <span class="kwrd">ON</span>
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.objects <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[Categories]'</span>) <span class="kwrd">AND</span> type <span class="kwrd">in</span> (N<span class="str">'U'</span>))
<span class="kwrd">BEGIN</span>
<span class="kwrd">CREATE</span> <span class="kwrd">TABLE</span> [dbo].[Categories](
    [CategoryID] [<span class="kwrd">int</span>] <span class="kwrd">IDENTITY</span>(1,1) <span class="kwrd">NOT</span> <span class="kwrd">NULL</span>,
    [CategoryName] [nvarchar](15) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NOT</span> <span class="kwrd">NULL</span>,
    [Description] [ntext] <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [Picture] [image] <span class="kwrd">NULL</span>,
 <span class="kwrd">CONSTRAINT</span> [PK_Categories] <span class="kwrd">PRIMARY</span> <span class="kwrd">KEY</span> <span class="kwrd">CLUSTERED</span>
(
    [CategoryID] <span class="kwrd">ASC</span>
)<span class="kwrd">WITH</span> (PAD_INDEX  = <span class="kwrd">OFF</span>, STATISTICS_NORECOMPUTE  = <span class="kwrd">OFF</span>, IGNORE_DUP_KEY = <span class="kwrd">OFF</span>, ALLOW_ROW_LOCKS  = <span class="kwrd">ON</span>, ALLOW_PAGE_LOCKS  = <span class="kwrd">ON</span>) <span class="kwrd">ON</span> [<span class="kwrd">PRIMARY</span>]
) <span class="kwrd">ON</span> [<span class="kwrd">PRIMARY</span>] TEXTIMAGE_ON [<span class="kwrd">PRIMARY</span>]
<span class="kwrd">END</span>
/****** <span class="kwrd">Object</span>:  <span class="kwrd">Table</span> [dbo].[Customers]    Script <span class="kwrd">Date</span>: 05/07/2007 19:44:22 ******/
<span class="kwrd">SET</span> ANSI_NULLS <span class="kwrd">ON</span>
<span class="kwrd">SET</span> QUOTED_IDENTIFIER <span class="kwrd">ON</span>
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.objects <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[Customers]'</span>) <span class="kwrd">AND</span> type <span class="kwrd">in</span> (N<span class="str">'U'</span>))
<span class="kwrd">BEGIN</span>
<span class="kwrd">CREATE</span> <span class="kwrd">TABLE</span> [dbo].[Customers](
    [CustomerID] [<span class="kwrd">nchar</span>](5) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NOT</span> <span class="kwrd">NULL</span>,
    [CompanyName] [nvarchar](40) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NOT</span> <span class="kwrd">NULL</span>,
    [ContactName] [nvarchar](30) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [ContactTitle] [nvarchar](30) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [Address] [nvarchar](60) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [City] [nvarchar](15) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [Region] [nvarchar](15) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [PostalCode] [nvarchar](10) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [Country] [nvarchar](15) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [Phone] [nvarchar](24) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [Fax] [nvarchar](24) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
 <span class="kwrd">CONSTRAINT</span> [PK_Customers] <span class="kwrd">PRIMARY</span> <span class="kwrd">KEY</span> <span class="kwrd">CLUSTERED</span>
(
    [CustomerID] <span class="kwrd">ASC</span>
)<span class="kwrd">WITH</span> (PAD_INDEX  = <span class="kwrd">OFF</span>, STATISTICS_NORECOMPUTE  = <span class="kwrd">OFF</span>, IGNORE_DUP_KEY = <span class="kwrd">OFF</span>, ALLOW_ROW_LOCKS  = <span class="kwrd">ON</span>, ALLOW_PAGE_LOCKS  = <span class="kwrd">ON</span>) <span class="kwrd">ON</span> [<span class="kwrd">PRIMARY</span>]
) <span class="kwrd">ON</span> [<span class="kwrd">PRIMARY</span>]
<span class="kwrd">END</span>
/****** <span class="kwrd">Object</span>:  StoredProcedure [dbo].[SubSonicTestNW]    Script <span class="kwrd">Date</span>: 05/07/2007 19:44:22 ******/
<span class="kwrd">SET</span> ANSI_NULLS <span class="kwrd">ON</span>
<span class="kwrd">SET</span> QUOTED_IDENTIFIER <span class="kwrd">ON</span>
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.objects <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[SubSonicTestNW]'</span>) <span class="kwrd">AND</span> type <span class="kwrd">in</span> (N<span class="str">'P'</span>, N<span class="str">'PC'</span>))
<span class="kwrd">BEGIN</span>
<span class="kwrd">EXEC</span> dbo.sp_executesql @<span class="kwrd">statement</span> = N<span class="str">'
CREATE PROCEDURE SubSonicTestNW
    @param datetime OUTPUT
AS
BEGIN
    SELECT @param=getdate()
END
'</span>
<span class="kwrd">END</span>
/****** <span class="kwrd">Object</span>:  <span class="kwrd">Table</span> [dbo].[Shippers]    Script <span class="kwrd">Date</span>: 05/07/2007 19:44:22 ******/
<span class="kwrd">SET</span> ANSI_NULLS <span class="kwrd">ON</span>
<span class="kwrd">SET</span> QUOTED_IDENTIFIER <span class="kwrd">ON</span>
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.objects <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[Shippers]'</span>) <span class="kwrd">AND</span> type <span class="kwrd">in</span> (N<span class="str">'U'</span>))
<span class="kwrd">BEGIN</span>
<span class="kwrd">CREATE</span> <span class="kwrd">TABLE</span> [dbo].[Shippers](
    [ShipperID] [<span class="kwrd">int</span>] <span class="kwrd">IDENTITY</span>(1,1) <span class="kwrd">NOT</span> <span class="kwrd">NULL</span>,
    [CompanyName] [nvarchar](40) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NOT</span> <span class="kwrd">NULL</span>,
    [Phone] [nvarchar](24) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
 <span class="kwrd">CONSTRAINT</span> [PK_Shippers] <span class="kwrd">PRIMARY</span> <span class="kwrd">KEY</span> <span class="kwrd">CLUSTERED</span>
(
    [ShipperID] <span class="kwrd">ASC</span>
)<span class="kwrd">WITH</span> (PAD_INDEX  = <span class="kwrd">OFF</span>, STATISTICS_NORECOMPUTE  = <span class="kwrd">OFF</span>, IGNORE_DUP_KEY = <span class="kwrd">OFF</span>, ALLOW_ROW_LOCKS  = <span class="kwrd">ON</span>, ALLOW_PAGE_LOCKS  = <span class="kwrd">ON</span>) <span class="kwrd">ON</span> [<span class="kwrd">PRIMARY</span>]
) <span class="kwrd">ON</span> [<span class="kwrd">PRIMARY</span>]
<span class="kwrd">END</span>
/****** <span class="kwrd">Object</span>:  <span class="kwrd">Table</span> [dbo].[Suppliers]    Script <span class="kwrd">Date</span>: 05/07/2007 19:44:22 ******/
<span class="kwrd">SET</span> ANSI_NULLS <span class="kwrd">ON</span>
<span class="kwrd">SET</span> QUOTED_IDENTIFIER <span class="kwrd">ON</span>
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.objects <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[Suppliers]'</span>) <span class="kwrd">AND</span> type <span class="kwrd">in</span> (N<span class="str">'U'</span>))
<span class="kwrd">BEGIN</span>
<span class="kwrd">CREATE</span> <span class="kwrd">TABLE</span> [dbo].[Suppliers](
    [SupplierID] [<span class="kwrd">int</span>] <span class="kwrd">IDENTITY</span>(1,1) <span class="kwrd">NOT</span> <span class="kwrd">NULL</span>,
    [CompanyName] [nvarchar](40) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NOT</span> <span class="kwrd">NULL</span>,
    [ContactName] [nvarchar](30) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [ContactTitle] [nvarchar](30) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [Address] [nvarchar](60) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [City] [nvarchar](15) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [Region] [nvarchar](15) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [PostalCode] [nvarchar](10) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [Country] [nvarchar](15) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [Phone] [nvarchar](24) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [Fax] [nvarchar](24) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [HomePage] [ntext] <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
 <span class="kwrd">CONSTRAINT</span> [PK_Suppliers] <span class="kwrd">PRIMARY</span> <span class="kwrd">KEY</span> <span class="kwrd">CLUSTERED</span>
(
    [SupplierID] <span class="kwrd">ASC</span>
)<span class="kwrd">WITH</span> (PAD_INDEX  = <span class="kwrd">OFF</span>, STATISTICS_NORECOMPUTE  = <span class="kwrd">OFF</span>, IGNORE_DUP_KEY = <span class="kwrd">OFF</span>, ALLOW_ROW_LOCKS  = <span class="kwrd">ON</span>, ALLOW_PAGE_LOCKS  = <span class="kwrd">ON</span>) <span class="kwrd">ON</span> [<span class="kwrd">PRIMARY</span>]
) <span class="kwrd">ON</span> [<span class="kwrd">PRIMARY</span>] TEXTIMAGE_ON [<span class="kwrd">PRIMARY</span>]
<span class="kwrd">END</span>
/****** <span class="kwrd">Object</span>:  <span class="kwrd">Table</span> [dbo].[EmployeeTerritories]    Script <span class="kwrd">Date</span>: 05/07/2007 19:44:22 ******/
<span class="kwrd">SET</span> ANSI_NULLS <span class="kwrd">ON</span>
<span class="kwrd">SET</span> QUOTED_IDENTIFIER <span class="kwrd">ON</span>
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.objects <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[EmployeeTerritories]'</span>) <span class="kwrd">AND</span> type <span class="kwrd">in</span> (N<span class="str">'U'</span>))
<span class="kwrd">BEGIN</span>
<span class="kwrd">CREATE</span> <span class="kwrd">TABLE</span> [dbo].[EmployeeTerritories](
    [EmployeeID] [<span class="kwrd">int</span>] <span class="kwrd">NOT</span> <span class="kwrd">NULL</span>,
    [TerritoryID] [nvarchar](20) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NOT</span> <span class="kwrd">NULL</span>,
 <span class="kwrd">CONSTRAINT</span> [PK_EmployeeTerritories] <span class="kwrd">PRIMARY</span> <span class="kwrd">KEY</span> <span class="kwrd">NONCLUSTERED</span>
(
    [EmployeeID] <span class="kwrd">ASC</span>,
    [TerritoryID] <span class="kwrd">ASC</span>
)<span class="kwrd">WITH</span> (PAD_INDEX  = <span class="kwrd">OFF</span>, STATISTICS_NORECOMPUTE  = <span class="kwrd">OFF</span>, IGNORE_DUP_KEY = <span class="kwrd">OFF</span>, ALLOW_ROW_LOCKS  = <span class="kwrd">ON</span>, ALLOW_PAGE_LOCKS  = <span class="kwrd">ON</span>) <span class="kwrd">ON</span> [<span class="kwrd">PRIMARY</span>]
) <span class="kwrd">ON</span> [<span class="kwrd">PRIMARY</span>]
<span class="kwrd">END</span>
/****** <span class="kwrd">Object</span>:  <span class="kwrd">Table</span> [dbo].[<span class="kwrd">Order</span> Details]    Script <span class="kwrd">Date</span>: 05/07/2007 19:44:22 ******/
<span class="kwrd">SET</span> ANSI_NULLS <span class="kwrd">ON</span>
<span class="kwrd">SET</span> QUOTED_IDENTIFIER <span class="kwrd">ON</span>
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.objects <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[Order Details]'</span>) <span class="kwrd">AND</span> type <span class="kwrd">in</span> (N<span class="str">'U'</span>))
<span class="kwrd">BEGIN</span>
<span class="kwrd">CREATE</span> <span class="kwrd">TABLE</span> [dbo].[<span class="kwrd">Order</span> Details](
    [OrderID] [<span class="kwrd">int</span>] <span class="kwrd">NOT</span> <span class="kwrd">NULL</span>,
    [ProductID] [<span class="kwrd">int</span>] <span class="kwrd">NOT</span> <span class="kwrd">NULL</span>,
    [UnitPrice] [money] <span class="kwrd">NOT</span> <span class="kwrd">NULL</span> <span class="kwrd">CONSTRAINT</span> [DF_Order_Details_UnitPrice]  <span class="kwrd">DEFAULT</span> ((0)),
    [Quantity] [<span class="kwrd">smallint</span>] <span class="kwrd">NOT</span> <span class="kwrd">NULL</span> <span class="kwrd">CONSTRAINT</span> [DF_Order_Details_Quantity]  <span class="kwrd">DEFAULT</span> ((1)),
    [Discount] [<span class="kwrd">real</span>] <span class="kwrd">NOT</span> <span class="kwrd">NULL</span> <span class="kwrd">CONSTRAINT</span> [DF_Order_Details_Discount]  <span class="kwrd">DEFAULT</span> ((0)),
 <span class="kwrd">CONSTRAINT</span> [PK_Order_Details] <span class="kwrd">PRIMARY</span> <span class="kwrd">KEY</span> <span class="kwrd">CLUSTERED</span>
(
    [OrderID] <span class="kwrd">ASC</span>,
    [ProductID] <span class="kwrd">ASC</span>
)<span class="kwrd">WITH</span> (PAD_INDEX  = <span class="kwrd">OFF</span>, STATISTICS_NORECOMPUTE  = <span class="kwrd">OFF</span>, IGNORE_DUP_KEY = <span class="kwrd">OFF</span>, ALLOW_ROW_LOCKS  = <span class="kwrd">ON</span>, ALLOW_PAGE_LOCKS  = <span class="kwrd">ON</span>) <span class="kwrd">ON</span> [<span class="kwrd">PRIMARY</span>]
) <span class="kwrd">ON</span> [<span class="kwrd">PRIMARY</span>]
<span class="kwrd">END</span>
/****** <span class="kwrd">Object</span>:  <span class="kwrd">Table</span> [dbo].[Product_Category_Map]    Script <span class="kwrd">Date</span>: 05/07/2007 19:44:22 ******/
<span class="kwrd">SET</span> ANSI_NULLS <span class="kwrd">ON</span>
<span class="kwrd">SET</span> QUOTED_IDENTIFIER <span class="kwrd">ON</span>
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.objects <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[Product_Category_Map]'</span>) <span class="kwrd">AND</span> type <span class="kwrd">in</span> (N<span class="str">'U'</span>))
<span class="kwrd">BEGIN</span>
<span class="kwrd">CREATE</span> <span class="kwrd">TABLE</span> [dbo].[Product_Category_Map](
    [CategoryID] [<span class="kwrd">int</span>] <span class="kwrd">NOT</span> <span class="kwrd">NULL</span>,
    [ProductID] [<span class="kwrd">int</span>] <span class="kwrd">NOT</span> <span class="kwrd">NULL</span>,
 <span class="kwrd">CONSTRAINT</span> [PK_Product_Category_Map] <span class="kwrd">PRIMARY</span> <span class="kwrd">KEY</span> <span class="kwrd">CLUSTERED</span>
(
    [CategoryID] <span class="kwrd">ASC</span>,
    [ProductID] <span class="kwrd">ASC</span>
)<span class="kwrd">WITH</span> (PAD_INDEX  = <span class="kwrd">OFF</span>, STATISTICS_NORECOMPUTE  = <span class="kwrd">OFF</span>, IGNORE_DUP_KEY = <span class="kwrd">OFF</span>, ALLOW_ROW_LOCKS  = <span class="kwrd">ON</span>, ALLOW_PAGE_LOCKS  = <span class="kwrd">ON</span>) <span class="kwrd">ON</span> [<span class="kwrd">PRIMARY</span>]
) <span class="kwrd">ON</span> [<span class="kwrd">PRIMARY</span>]
<span class="kwrd">END</span>
/****** <span class="kwrd">Object</span>:  <span class="kwrd">Table</span> [dbo].[CustomerCustomerDemo]    Script <span class="kwrd">Date</span>: 05/07/2007 19:44:22 ******/
<span class="kwrd">SET</span> ANSI_NULLS <span class="kwrd">ON</span>
<span class="kwrd">SET</span> QUOTED_IDENTIFIER <span class="kwrd">ON</span>
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.objects <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[CustomerCustomerDemo]'</span>) <span class="kwrd">AND</span> type <span class="kwrd">in</span> (N<span class="str">'U'</span>))
<span class="kwrd">BEGIN</span>
<span class="kwrd">CREATE</span> <span class="kwrd">TABLE</span> [dbo].[CustomerCustomerDemo](
    [CustomerID] [<span class="kwrd">nchar</span>](5) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NOT</span> <span class="kwrd">NULL</span>,
    [CustomerTypeID] [<span class="kwrd">nchar</span>](10) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NOT</span> <span class="kwrd">NULL</span>,
 <span class="kwrd">CONSTRAINT</span> [PK_CustomerCustomerDemo] <span class="kwrd">PRIMARY</span> <span class="kwrd">KEY</span> <span class="kwrd">NONCLUSTERED</span>
(
    [CustomerID] <span class="kwrd">ASC</span>,
    [CustomerTypeID] <span class="kwrd">ASC</span>
)<span class="kwrd">WITH</span> (PAD_INDEX  = <span class="kwrd">OFF</span>, STATISTICS_NORECOMPUTE  = <span class="kwrd">OFF</span>, IGNORE_DUP_KEY = <span class="kwrd">OFF</span>, ALLOW_ROW_LOCKS  = <span class="kwrd">ON</span>, ALLOW_PAGE_LOCKS  = <span class="kwrd">ON</span>) <span class="kwrd">ON</span> [<span class="kwrd">PRIMARY</span>]
) <span class="kwrd">ON</span> [<span class="kwrd">PRIMARY</span>]
<span class="kwrd">END</span>
/****** <span class="kwrd">Object</span>:  <span class="kwrd">Table</span> [dbo].[Territories]    Script <span class="kwrd">Date</span>: 05/07/2007 19:44:22 ******/
<span class="kwrd">SET</span> ANSI_NULLS <span class="kwrd">ON</span>
<span class="kwrd">SET</span> QUOTED_IDENTIFIER <span class="kwrd">ON</span>
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.objects <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[Territories]'</span>) <span class="kwrd">AND</span> type <span class="kwrd">in</span> (N<span class="str">'U'</span>))
<span class="kwrd">BEGIN</span>
<span class="kwrd">CREATE</span> <span class="kwrd">TABLE</span> [dbo].[Territories](
    [TerritoryID] [nvarchar](20) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NOT</span> <span class="kwrd">NULL</span>,
    [TerritoryDescription] [<span class="kwrd">nchar</span>](50) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NOT</span> <span class="kwrd">NULL</span>,
    [RegionID] [<span class="kwrd">int</span>] <span class="kwrd">NOT</span> <span class="kwrd">NULL</span>,
 <span class="kwrd">CONSTRAINT</span> [PK_Territories] <span class="kwrd">PRIMARY</span> <span class="kwrd">KEY</span> <span class="kwrd">NONCLUSTERED</span>
(
    [TerritoryID] <span class="kwrd">ASC</span>
)<span class="kwrd">WITH</span> (PAD_INDEX  = <span class="kwrd">OFF</span>, STATISTICS_NORECOMPUTE  = <span class="kwrd">OFF</span>, IGNORE_DUP_KEY = <span class="kwrd">OFF</span>, ALLOW_ROW_LOCKS  = <span class="kwrd">ON</span>, ALLOW_PAGE_LOCKS  = <span class="kwrd">ON</span>) <span class="kwrd">ON</span> [<span class="kwrd">PRIMARY</span>]
) <span class="kwrd">ON</span> [<span class="kwrd">PRIMARY</span>]
<span class="kwrd">END</span>
/****** <span class="kwrd">Object</span>:  <span class="kwrd">Table</span> [dbo].[Orders]    Script <span class="kwrd">Date</span>: 05/07/2007 19:44:22 ******/
<span class="kwrd">SET</span> ANSI_NULLS <span class="kwrd">ON</span>
<span class="kwrd">SET</span> QUOTED_IDENTIFIER <span class="kwrd">ON</span>
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.objects <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[Orders]'</span>) <span class="kwrd">AND</span> type <span class="kwrd">in</span> (N<span class="str">'U'</span>))
<span class="kwrd">BEGIN</span>
<span class="kwrd">CREATE</span> <span class="kwrd">TABLE</span> [dbo].[Orders](
    [OrderID] [<span class="kwrd">int</span>] <span class="kwrd">IDENTITY</span>(1,1) <span class="kwrd">NOT</span> <span class="kwrd">NULL</span>,
    [CustomerID] [<span class="kwrd">nchar</span>](5) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [EmployeeID] [<span class="kwrd">int</span>] <span class="kwrd">NULL</span>,
    [OrderDate] [datetime] <span class="kwrd">NULL</span>,
    [RequiredDate] [datetime] <span class="kwrd">NULL</span>,
    [ShippedDate] [datetime] <span class="kwrd">NULL</span>,
    [ShipVia] [<span class="kwrd">int</span>] <span class="kwrd">NULL</span>,
    [Freight] [money] <span class="kwrd">NULL</span> <span class="kwrd">CONSTRAINT</span> [DF_Orders_Freight]  <span class="kwrd">DEFAULT</span> ((0)),
    [ShipName] [nvarchar](40) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [ShipAddress] [nvarchar](60) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [ShipCity] [nvarchar](15) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [ShipRegion] [nvarchar](15) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [ShipPostalCode] [nvarchar](10) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [ShipCountry] [nvarchar](15) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
 <span class="kwrd">CONSTRAINT</span> [PK_Orders] <span class="kwrd">PRIMARY</span> <span class="kwrd">KEY</span> <span class="kwrd">CLUSTERED</span>
(
    [OrderID] <span class="kwrd">ASC</span>
)<span class="kwrd">WITH</span> (PAD_INDEX  = <span class="kwrd">OFF</span>, STATISTICS_NORECOMPUTE  = <span class="kwrd">OFF</span>, IGNORE_DUP_KEY = <span class="kwrd">OFF</span>, ALLOW_ROW_LOCKS  = <span class="kwrd">ON</span>, ALLOW_PAGE_LOCKS  = <span class="kwrd">ON</span>) <span class="kwrd">ON</span> [<span class="kwrd">PRIMARY</span>]
) <span class="kwrd">ON</span> [<span class="kwrd">PRIMARY</span>]
<span class="kwrd">END</span>
/****** <span class="kwrd">Object</span>:  <span class="kwrd">Table</span> [dbo].[Products]    Script <span class="kwrd">Date</span>: 05/07/2007 19:44:22 ******/
<span class="kwrd">SET</span> ANSI_NULLS <span class="kwrd">ON</span>
<span class="kwrd">SET</span> QUOTED_IDENTIFIER <span class="kwrd">ON</span>
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.objects <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[Products]'</span>) <span class="kwrd">AND</span> type <span class="kwrd">in</span> (N<span class="str">'U'</span>))
<span class="kwrd">BEGIN</span>
<span class="kwrd">CREATE</span> <span class="kwrd">TABLE</span> [dbo].[Products](
    [ProductID] [<span class="kwrd">int</span>] <span class="kwrd">IDENTITY</span>(1,1) <span class="kwrd">NOT</span> <span class="kwrd">NULL</span>,
    [ProductName] [nvarchar](40) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NOT</span> <span class="kwrd">NULL</span>,
    [SupplierID] [<span class="kwrd">int</span>] <span class="kwrd">NULL</span>,
    [CategoryID] [<span class="kwrd">int</span>] <span class="kwrd">NULL</span>,
    [QuantityPerUnit] [nvarchar](20) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [UnitPrice] [money] <span class="kwrd">NULL</span> <span class="kwrd">CONSTRAINT</span> [DF_Products_UnitPrice]  <span class="kwrd">DEFAULT</span> ((0)),
    [UnitsInStock] [<span class="kwrd">smallint</span>] <span class="kwrd">NULL</span> <span class="kwrd">CONSTRAINT</span> [DF_Products_UnitsInStock]  <span class="kwrd">DEFAULT</span> ((0)),
    [UnitsOnOrder] [<span class="kwrd">smallint</span>] <span class="kwrd">NULL</span> <span class="kwrd">CONSTRAINT</span> [DF_Products_UnitsOnOrder]  <span class="kwrd">DEFAULT</span> ((0)),
    [ReorderLevel] [<span class="kwrd">smallint</span>] <span class="kwrd">NULL</span> <span class="kwrd">CONSTRAINT</span> [DF_Products_ReorderLevel]  <span class="kwrd">DEFAULT</span> ((0)),
    [Discontinued] [<span class="kwrd">bit</span>] <span class="kwrd">NOT</span> <span class="kwrd">NULL</span> <span class="kwrd">CONSTRAINT</span> [DF_Products_Discontinued]  <span class="kwrd">DEFAULT</span> ((0)),
    [AttributeXML] [xml] <span class="kwrd">NULL</span>,
    [DateCreated] [datetime] <span class="kwrd">NULL</span> <span class="kwrd">CONSTRAINT</span> [DF_Products_DateCreated]  <span class="kwrd">DEFAULT</span> (getdate()),
    [ProductGUID] [uniqueidentifier] <span class="kwrd">NULL</span> <span class="kwrd">CONSTRAINT</span> [DF_Products_ProductGUID]  <span class="kwrd">DEFAULT</span> (newid()),
    [CreatedOn] [datetime] <span class="kwrd">NOT</span> <span class="kwrd">NULL</span> <span class="kwrd">CONSTRAINT</span> [DF_Products_CreatedOn]  <span class="kwrd">DEFAULT</span> (getdate()),
    [CreatedBy] [nvarchar](50) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [ModifiedOn] [datetime] <span class="kwrd">NOT</span> <span class="kwrd">NULL</span> <span class="kwrd">CONSTRAINT</span> [DF_Products_ModifiedOn]  <span class="kwrd">DEFAULT</span> (getdate()),
    [ModifiedBy] [nvarchar](50) <span class="kwrd">COLLATE</span> SQL_Latin1_General_CP1_CI_AS <span class="kwrd">NULL</span>,
    [Deleted] [<span class="kwrd">bit</span>] <span class="kwrd">NOT</span> <span class="kwrd">NULL</span> <span class="kwrd">CONSTRAINT</span> [DF_Products_Deleted]  <span class="kwrd">DEFAULT</span> ((0)),
 <span class="kwrd">CONSTRAINT</span> [PK_Products] <span class="kwrd">PRIMARY</span> <span class="kwrd">KEY</span> <span class="kwrd">CLUSTERED</span>
(
    [ProductID] <span class="kwrd">ASC</span>
)<span class="kwrd">WITH</span> (PAD_INDEX  = <span class="kwrd">OFF</span>, STATISTICS_NORECOMPUTE  = <span class="kwrd">OFF</span>, IGNORE_DUP_KEY = <span class="kwrd">OFF</span>, ALLOW_ROW_LOCKS  = <span class="kwrd">ON</span>, ALLOW_PAGE_LOCKS  = <span class="kwrd">ON</span>) <span class="kwrd">ON</span> [<span class="kwrd">PRIMARY</span>]
) <span class="kwrd">ON</span> [<span class="kwrd">PRIMARY</span>]
<span class="kwrd">END</span>
/****** <span class="kwrd">Object</span>:  <span class="kwrd">View</span> [dbo].[Category Sales <span class="kwrd">for</span> 1997]    Script <span class="kwrd">Date</span>: 05/07/2007 19:44:22 ******/
<span class="kwrd">SET</span> ANSI_NULLS <span class="kwrd">ON</span>
<span class="kwrd">SET</span> QUOTED_IDENTIFIER <span class="kwrd">ON</span>
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.views <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[Category Sales for 1997]'</span>))
<span class="kwrd">EXEC</span> dbo.sp_executesql @<span class="kwrd">statement</span> = N<span class="str">'
create view "Category Sales for 1997" AS
SELECT "Product Sales for 1997".CategoryName, Sum("Product Sales for 1997".ProductSales) AS CategorySales
FROM "Product Sales for 1997"
GROUP BY "Product Sales for 1997".CategoryName
'</span>
/****** <span class="kwrd">Object</span>:  <span class="kwrd">View</span> [dbo].[Sales <span class="kwrd">by</span> Category]    Script <span class="kwrd">Date</span>: 05/07/2007 19:44:22 ******/
<span class="kwrd">SET</span> ANSI_NULLS <span class="kwrd">ON</span>
<span class="kwrd">SET</span> QUOTED_IDENTIFIER <span class="kwrd">ON</span>
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.views <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[Sales by Category]'</span>))
<span class="kwrd">EXEC</span> dbo.sp_executesql @<span class="kwrd">statement</span> = N<span class="str">'
create view "Sales by Category" AS
SELECT Categories.CategoryID, Categories.CategoryName, Products.ProductName,
    Sum("Order Details Extended".ExtendedPrice) AS ProductSales
FROM     Categories INNER JOIN
        (Products INNER JOIN
            (Orders INNER JOIN "Order Details Extended" ON Orders.OrderID = "Order Details Extended".OrderID)
        ON Products.ProductID = "Order Details Extended".ProductID)
    ON Categories.CategoryID = Products.CategoryID
WHERE Orders.OrderDate BETWEEN '</span><span class="str">'19970101'</span><span class="str">' And '</span><span class="str">'19971231'</span><span class="str">'
GROUP BY Categories.CategoryID, Categories.CategoryName, Products.ProductName
--ORDER BY Products.ProductName
'</span>
/****** <span class="kwrd">Object</span>:  <span class="kwrd">View</span> [dbo].[Summary <span class="kwrd">of</span> Sales <span class="kwrd">by</span> Quarter]    Script <span class="kwrd">Date</span>: 05/07/2007 19:44:22 ******/
<span class="kwrd">SET</span> ANSI_NULLS <span class="kwrd">ON</span>
<span class="kwrd">SET</span> QUOTED_IDENTIFIER <span class="kwrd">ON</span>
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.views <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[Summary of Sales by Quarter]'</span>))
<span class="kwrd">EXEC</span> dbo.sp_executesql @<span class="kwrd">statement</span> = N<span class="str">'
create view "Summary of Sales by Quarter" AS
SELECT Orders.ShippedDate, Orders.OrderID, "Order Subtotals".Subtotal
FROM Orders INNER JOIN "Order Subtotals" ON Orders.OrderID = "Order Subtotals".OrderID
WHERE Orders.ShippedDate IS NOT NULL
--ORDER BY Orders.ShippedDate
'</span>
/****** <span class="kwrd">Object</span>:  <span class="kwrd">View</span> [dbo].[Summary <span class="kwrd">of</span> Sales <span class="kwrd">by</span> <span class="kwrd">Year</span>]    Script <span class="kwrd">Date</span>: 05/07/2007 19:44:22 ******/
<span class="kwrd">SET</span> ANSI_NULLS <span class="kwrd">ON</span>
<span class="kwrd">SET</span> QUOTED_IDENTIFIER <span class="kwrd">ON</span>
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.views <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[Summary of Sales by Year]'</span>))
<span class="kwrd">EXEC</span> dbo.sp_executesql @<span class="kwrd">statement</span> = N<span class="str">'
create view "Summary of Sales by Year" AS
SELECT Orders.ShippedDate, Orders.OrderID, "Order Subtotals".Subtotal
FROM Orders INNER JOIN "Order Subtotals" ON Orders.OrderID = "Order Subtotals".OrderID
WHERE Orders.ShippedDate IS NOT NULL
--ORDER BY Orders.ShippedDate
'</span>
/****** <span class="kwrd">Object</span>:  <span class="kwrd">View</span> [dbo].[Sales Totals <span class="kwrd">by</span> Amount]    Script <span class="kwrd">Date</span>: 05/07/2007 19:44:22 ******/
<span class="kwrd">SET</span> ANSI_NULLS <span class="kwrd">ON</span>
<span class="kwrd">SET</span> QUOTED_IDENTIFIER <span class="kwrd">ON</span>
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.views <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[Sales Totals by Amount]'</span>))
<span class="kwrd">EXEC</span> dbo.sp_executesql @<span class="kwrd">statement</span> = N<span class="str">'
create view "Sales Totals by Amount" AS
SELECT "Order Subtotals".Subtotal AS SaleAmount, Orders.OrderID, Customers.CompanyName, Orders.ShippedDate
FROM     Customers INNER JOIN
        (Orders INNER JOIN "Order Subtotals" ON Orders.OrderID = "Order Subtotals".OrderID)
    ON Customers.CustomerID = Orders.CustomerID
WHERE ("Order Subtotals".Subtotal &gt;2500) AND (Orders.ShippedDate BETWEEN '</span><span class="str">'19970101'</span><span class="str">' And '</span><span class="str">'19971231'</span><span class="str">')
'</span>
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.foreign_keys <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[FK_Employees_Employees]'</span>) <span class="kwrd">AND</span> parent_object_id = OBJECT_ID(N<span class="str">'[dbo].[Employees]'</span>))
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[Employees]  <span class="kwrd">WITH</span> <span class="kwrd">NOCHECK</span> <span class="kwrd">ADD</span>  <span class="kwrd">CONSTRAINT</span> [FK_Employees_Employees] <span class="kwrd">FOREIGN</span> <span class="kwrd">KEY</span>([ReportsTo])
<span class="kwrd">REFERENCES</span> [Employees] ([EmployeeID])
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[Employees] <span class="kwrd">CHECK</span> <span class="kwrd">CONSTRAINT</span> [FK_Employees_Employees]
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.check_constraints <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[CK_Birthdate]'</span>) <span class="kwrd">AND</span> parent_object_id = OBJECT_ID(N<span class="str">'[dbo].[Employees]'</span>))
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[Employees]  <span class="kwrd">WITH</span> <span class="kwrd">NOCHECK</span> <span class="kwrd">ADD</span>  <span class="kwrd">CONSTRAINT</span> [CK_Birthdate] <span class="kwrd">CHECK</span>  (([BirthDate]&lt;getdate()))
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[Employees] <span class="kwrd">CHECK</span> <span class="kwrd">CONSTRAINT</span> [CK_Birthdate]
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.foreign_keys <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[FK_EmployeeTerritories_Employees]'</span>) <span class="kwrd">AND</span> parent_object_id = OBJECT_ID(N<span class="str">'[dbo].[EmployeeTerritories]'</span>))
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[EmployeeTerritories]  <span class="kwrd">WITH</span> <span class="kwrd">NOCHECK</span> <span class="kwrd">ADD</span>  <span class="kwrd">CONSTRAINT</span> [FK_EmployeeTerritories_Employees] <span class="kwrd">FOREIGN</span> <span class="kwrd">KEY</span>([EmployeeID])
<span class="kwrd">REFERENCES</span> [Employees] ([EmployeeID])
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[EmployeeTerritories] <span class="kwrd">CHECK</span> <span class="kwrd">CONSTRAINT</span> [FK_EmployeeTerritories_Employees]
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.foreign_keys <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[FK_EmployeeTerritories_Territories]'</span>) <span class="kwrd">AND</span> parent_object_id = OBJECT_ID(N<span class="str">'[dbo].[EmployeeTerritories]'</span>))
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[EmployeeTerritories]  <span class="kwrd">WITH</span> <span class="kwrd">NOCHECK</span> <span class="kwrd">ADD</span>  <span class="kwrd">CONSTRAINT</span> [FK_EmployeeTerritories_Territories] <span class="kwrd">FOREIGN</span> <span class="kwrd">KEY</span>([TerritoryID])
<span class="kwrd">REFERENCES</span> [Territories] ([TerritoryID])
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[EmployeeTerritories] <span class="kwrd">CHECK</span> <span class="kwrd">CONSTRAINT</span> [FK_EmployeeTerritories_Territories]
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.foreign_keys <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[FK_Order_Details_Orders]'</span>) <span class="kwrd">AND</span> parent_object_id = OBJECT_ID(N<span class="str">'[dbo].[Order Details]'</span>))
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[<span class="kwrd">Order</span> Details]  <span class="kwrd">WITH</span> <span class="kwrd">NOCHECK</span> <span class="kwrd">ADD</span>  <span class="kwrd">CONSTRAINT</span> [FK_Order_Details_Orders] <span class="kwrd">FOREIGN</span> <span class="kwrd">KEY</span>([OrderID])
<span class="kwrd">REFERENCES</span> [Orders] ([OrderID])
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[<span class="kwrd">Order</span> Details] <span class="kwrd">CHECK</span> <span class="kwrd">CONSTRAINT</span> [FK_Order_Details_Orders]
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.foreign_keys <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[FK_Order_Details_Products]'</span>) <span class="kwrd">AND</span> parent_object_id = OBJECT_ID(N<span class="str">'[dbo].[Order Details]'</span>))
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[<span class="kwrd">Order</span> Details]  <span class="kwrd">WITH</span> <span class="kwrd">NOCHECK</span> <span class="kwrd">ADD</span>  <span class="kwrd">CONSTRAINT</span> [FK_Order_Details_Products] <span class="kwrd">FOREIGN</span> <span class="kwrd">KEY</span>([ProductID])
<span class="kwrd">REFERENCES</span> [Products] ([ProductID])
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[<span class="kwrd">Order</span> Details] <span class="kwrd">CHECK</span> <span class="kwrd">CONSTRAINT</span> [FK_Order_Details_Products]
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.check_constraints <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[CK_Discount]'</span>) <span class="kwrd">AND</span> parent_object_id = OBJECT_ID(N<span class="str">'[dbo].[Order Details]'</span>))
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[<span class="kwrd">Order</span> Details]  <span class="kwrd">WITH</span> <span class="kwrd">NOCHECK</span> <span class="kwrd">ADD</span>  <span class="kwrd">CONSTRAINT</span> [CK_Discount] <span class="kwrd">CHECK</span>  (([Discount]&gt;=(0) <span class="kwrd">AND</span> [Discount]&lt;=(1)))
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[<span class="kwrd">Order</span> Details] <span class="kwrd">CHECK</span> <span class="kwrd">CONSTRAINT</span> [CK_Discount]
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.check_constraints <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[CK_Quantity]'</span>) <span class="kwrd">AND</span> parent_object_id = OBJECT_ID(N<span class="str">'[dbo].[Order Details]'</span>))
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[<span class="kwrd">Order</span> Details]  <span class="kwrd">WITH</span> <span class="kwrd">NOCHECK</span> <span class="kwrd">ADD</span>  <span class="kwrd">CONSTRAINT</span> [CK_Quantity] <span class="kwrd">CHECK</span>  (([Quantity]&gt;(0)))
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[<span class="kwrd">Order</span> Details] <span class="kwrd">CHECK</span> <span class="kwrd">CONSTRAINT</span> [CK_Quantity]
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.check_constraints <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[CK_UnitPrice]'</span>) <span class="kwrd">AND</span> parent_object_id = OBJECT_ID(N<span class="str">'[dbo].[Order Details]'</span>))
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[<span class="kwrd">Order</span> Details]  <span class="kwrd">WITH</span> <span class="kwrd">NOCHECK</span> <span class="kwrd">ADD</span>  <span class="kwrd">CONSTRAINT</span> [CK_UnitPrice] <span class="kwrd">CHECK</span>  (([UnitPrice]&gt;=(0)))
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[<span class="kwrd">Order</span> Details] <span class="kwrd">CHECK</span> <span class="kwrd">CONSTRAINT</span> [CK_UnitPrice]
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.foreign_keys <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[FK_Product_Category_Map_Categories]'</span>) <span class="kwrd">AND</span> parent_object_id = OBJECT_ID(N<span class="str">'[dbo].[Product_Category_Map]'</span>))
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[Product_Category_Map]  <span class="kwrd">WITH</span> <span class="kwrd">NOCHECK</span> <span class="kwrd">ADD</span>  <span class="kwrd">CONSTRAINT</span> [FK_Product_Category_Map_Categories] <span class="kwrd">FOREIGN</span> <span class="kwrd">KEY</span>([CategoryID])
<span class="kwrd">REFERENCES</span> [Categories] ([CategoryID])
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[Product_Category_Map] <span class="kwrd">CHECK</span> <span class="kwrd">CONSTRAINT</span> [FK_Product_Category_Map_Categories]
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.foreign_keys <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[FK_Product_Category_Map_Products]'</span>) <span class="kwrd">AND</span> parent_object_id = OBJECT_ID(N<span class="str">'[dbo].[Product_Category_Map]'</span>))
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[Product_Category_Map]  <span class="kwrd">WITH</span> <span class="kwrd">NOCHECK</span> <span class="kwrd">ADD</span>  <span class="kwrd">CONSTRAINT</span> [FK_Product_Category_Map_Products] <span class="kwrd">FOREIGN</span> <span class="kwrd">KEY</span>([ProductID])
<span class="kwrd">REFERENCES</span> [Products] ([ProductID])
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[Product_Category_Map] <span class="kwrd">CHECK</span> <span class="kwrd">CONSTRAINT</span> [FK_Product_Category_Map_Products]
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.foreign_keys <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[FK_CustomerCustomerDemo]'</span>) <span class="kwrd">AND</span> parent_object_id = OBJECT_ID(N<span class="str">'[dbo].[CustomerCustomerDemo]'</span>))
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[CustomerCustomerDemo]  <span class="kwrd">WITH</span> <span class="kwrd">NOCHECK</span> <span class="kwrd">ADD</span>  <span class="kwrd">CONSTRAINT</span> [FK_CustomerCustomerDemo] <span class="kwrd">FOREIGN</span> <span class="kwrd">KEY</span>([CustomerTypeID])
<span class="kwrd">REFERENCES</span> [CustomerDemographics] ([CustomerTypeID])
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[CustomerCustomerDemo] <span class="kwrd">CHECK</span> <span class="kwrd">CONSTRAINT</span> [FK_CustomerCustomerDemo]
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.foreign_keys <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[FK_CustomerCustomerDemo_Customers]'</span>) <span class="kwrd">AND</span> parent_object_id = OBJECT_ID(N<span class="str">'[dbo].[CustomerCustomerDemo]'</span>))
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[CustomerCustomerDemo]  <span class="kwrd">WITH</span> <span class="kwrd">NOCHECK</span> <span class="kwrd">ADD</span>  <span class="kwrd">CONSTRAINT</span> [FK_CustomerCustomerDemo_Customers] <span class="kwrd">FOREIGN</span> <span class="kwrd">KEY</span>([CustomerID])
<span class="kwrd">REFERENCES</span> [Customers] ([CustomerID])
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[CustomerCustomerDemo] <span class="kwrd">CHECK</span> <span class="kwrd">CONSTRAINT</span> [FK_CustomerCustomerDemo_Customers]
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.foreign_keys <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[FK_Territories_Region]'</span>) <span class="kwrd">AND</span> parent_object_id = OBJECT_ID(N<span class="str">'[dbo].[Territories]'</span>))
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[Territories]  <span class="kwrd">WITH</span> <span class="kwrd">NOCHECK</span> <span class="kwrd">ADD</span>  <span class="kwrd">CONSTRAINT</span> [FK_Territories_Region] <span class="kwrd">FOREIGN</span> <span class="kwrd">KEY</span>([RegionID])
<span class="kwrd">REFERENCES</span> [Region] ([RegionID])
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[Territories] <span class="kwrd">CHECK</span> <span class="kwrd">CONSTRAINT</span> [FK_Territories_Region]
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.foreign_keys <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[FK_Orders_Customers]'</span>) <span class="kwrd">AND</span> parent_object_id = OBJECT_ID(N<span class="str">'[dbo].[Orders]'</span>))
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[Orders]  <span class="kwrd">WITH</span> <span class="kwrd">NOCHECK</span> <span class="kwrd">ADD</span>  <span class="kwrd">CONSTRAINT</span> [FK_Orders_Customers] <span class="kwrd">FOREIGN</span> <span class="kwrd">KEY</span>([CustomerID])
<span class="kwrd">REFERENCES</span> [Customers] ([CustomerID])
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[Orders] <span class="kwrd">CHECK</span> <span class="kwrd">CONSTRAINT</span> [FK_Orders_Customers]
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.foreign_keys <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[FK_Orders_Employees]'</span>) <span class="kwrd">AND</span> parent_object_id = OBJECT_ID(N<span class="str">'[dbo].[Orders]'</span>))
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[Orders]  <span class="kwrd">WITH</span> <span class="kwrd">NOCHECK</span> <span class="kwrd">ADD</span>  <span class="kwrd">CONSTRAINT</span> [FK_Orders_Employees] <span class="kwrd">FOREIGN</span> <span class="kwrd">KEY</span>([EmployeeID])
<span class="kwrd">REFERENCES</span> [Employees] ([EmployeeID])
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[Orders] <span class="kwrd">CHECK</span> <span class="kwrd">CONSTRAINT</span> [FK_Orders_Employees]
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.foreign_keys <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[FK_Orders_Shippers]'</span>) <span class="kwrd">AND</span> parent_object_id = OBJECT_ID(N<span class="str">'[dbo].[Orders]'</span>))
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[Orders]  <span class="kwrd">WITH</span> <span class="kwrd">NOCHECK</span> <span class="kwrd">ADD</span>  <span class="kwrd">CONSTRAINT</span> [FK_Orders_Shippers] <span class="kwrd">FOREIGN</span> <span class="kwrd">KEY</span>([ShipVia])
<span class="kwrd">REFERENCES</span> [Shippers] ([ShipperID])
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[Orders] <span class="kwrd">CHECK</span> <span class="kwrd">CONSTRAINT</span> [FK_Orders_Shippers]
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.foreign_keys <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[FK_Products_Categories]'</span>) <span class="kwrd">AND</span> parent_object_id = OBJECT_ID(N<span class="str">'[dbo].[Products]'</span>))
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[Products]  <span class="kwrd">WITH</span> <span class="kwrd">NOCHECK</span> <span class="kwrd">ADD</span>  <span class="kwrd">CONSTRAINT</span> [FK_Products_Categories] <span class="kwrd">FOREIGN</span> <span class="kwrd">KEY</span>([CategoryID])
<span class="kwrd">REFERENCES</span> [Categories] ([CategoryID])
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[Products] <span class="kwrd">CHECK</span> <span class="kwrd">CONSTRAINT</span> [FK_Products_Categories]
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.foreign_keys <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[FK_Products_Suppliers]'</span>) <span class="kwrd">AND</span> parent_object_id = OBJECT_ID(N<span class="str">'[dbo].[Products]'</span>))
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[Products]  <span class="kwrd">WITH</span> <span class="kwrd">NOCHECK</span> <span class="kwrd">ADD</span>  <span class="kwrd">CONSTRAINT</span> [FK_Products_Suppliers] <span class="kwrd">FOREIGN</span> <span class="kwrd">KEY</span>([SupplierID])
<span class="kwrd">REFERENCES</span> [Suppliers] ([SupplierID])
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[Products] <span class="kwrd">CHECK</span> <span class="kwrd">CONSTRAINT</span> [FK_Products_Suppliers]
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.check_constraints <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[CK_Products_UnitPrice]'</span>) <span class="kwrd">AND</span> parent_object_id = OBJECT_ID(N<span class="str">'[dbo].[Products]'</span>))
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[Products]  <span class="kwrd">WITH</span> <span class="kwrd">NOCHECK</span> <span class="kwrd">ADD</span>  <span class="kwrd">CONSTRAINT</span> [CK_Products_UnitPrice] <span class="kwrd">CHECK</span>  (([UnitPrice]&gt;=(0)))
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[Products] <span class="kwrd">CHECK</span> <span class="kwrd">CONSTRAINT</span> [CK_Products_UnitPrice]
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.check_constraints <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[CK_ReorderLevel]'</span>) <span class="kwrd">AND</span> parent_object_id = OBJECT_ID(N<span class="str">'[dbo].[Products]'</span>))
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[Products]  <span class="kwrd">WITH</span> <span class="kwrd">NOCHECK</span> <span class="kwrd">ADD</span>  <span class="kwrd">CONSTRAINT</span> [CK_ReorderLevel] <span class="kwrd">CHECK</span>  (([ReorderLevel]&gt;=(0)))
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[Products] <span class="kwrd">CHECK</span> <span class="kwrd">CONSTRAINT</span> [CK_ReorderLevel]
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.check_constraints <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[CK_UnitsInStock]'</span>) <span class="kwrd">AND</span> parent_object_id = OBJECT_ID(N<span class="str">'[dbo].[Products]'</span>))
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[Products]  <span class="kwrd">WITH</span> <span class="kwrd">NOCHECK</span> <span class="kwrd">ADD</span>  <span class="kwrd">CONSTRAINT</span> [CK_UnitsInStock] <span class="kwrd">CHECK</span>  (([UnitsInStock]&gt;=(0)))
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[Products] <span class="kwrd">CHECK</span> <span class="kwrd">CONSTRAINT</span> [CK_UnitsInStock]
<span class="kwrd">IF</span> <span class="kwrd">NOT</span> <span class="kwrd">EXISTS</span> (<span class="kwrd">SELECT</span> * <span class="kwrd">FROM</span> sys.check_constraints <span class="kwrd">WHERE</span> object_id = OBJECT_ID(N<span class="str">'[dbo].[CK_UnitsOnOrder]'</span>) <span class="kwrd">AND</span> parent_object_id = OBJECT_ID(N<span class="str">'[dbo].[Products]'</span>))
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[Products]  <span class="kwrd">WITH</span> <span class="kwrd">NOCHECK</span> <span class="kwrd">ADD</span>  <span class="kwrd">CONSTRAINT</span> [CK_UnitsOnOrder] <span class="kwrd">CHECK</span>  (([UnitsOnOrder]&gt;=(0)))
<span class="kwrd">ALTER</span> <span class="kwrd">TABLE</span> [dbo].[Products] <span class="kwrd">CHECK</span> <span class="kwrd">CONSTRAINT</span> [CK_UnitsOnOrder]


</pre>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Web Developer Oxit Oy
Finland Finland
I work in OXIT - a small IT consulting company, which has participated in the building of the most sophisticated IT Systems for several big Finnish and international companies (including Fortune 500 members) and continues to provide highly sophisticated IT Solutions to its customers.

I enjoy designing and implementing software or small scripts in different programming languages.

I am fascinated by the magic of software, which has the power to change the world.

Comments and Discussions