GHTDB script for sql 2005 server was added.
authorMerav Sudri <meravs@mono-cvs.ximian.com>
Tue, 2 Jan 2007 09:51:45 +0000 (09:51 -0000)
committerMerav Sudri <meravs@mono-cvs.ximian.com>
Tue, 2 Jan 2007 09:51:45 +0000 (09:51 -0000)
svn path=/trunk/mcs/; revision=70338

mcs/class/System.Data/Test/ProviderTests/System.Data.OleDb.jvm/GHTDB.MSSQL2005.sql [new file with mode: 0644]

diff --git a/mcs/class/System.Data/Test/ProviderTests/System.Data.OleDb.jvm/GHTDB.MSSQL2005.sql b/mcs/class/System.Data/Test/ProviderTests/System.Data.OleDb.jvm/GHTDB.MSSQL2005.sql
new file mode 100644 (file)
index 0000000..907d887
--- /dev/null
@@ -0,0 +1,1634 @@
+\r
+CREATE DATABASE [GHTDB]  ON (NAME = N'GHTDB_dat', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\GHTDB.mdf' , SIZE = 6, FILEGROWTH = 10%) LOG ON (NAME = N'GHTDB_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\GHTDB.ldf' , SIZE = 2, FILEGROWTH = 10%)\r
+ COLLATE SQL_Latin1_General_CP1_CI_AS\r
+GO\r
+\r
+exec sp_dboption N'GHTDB', N'autoclose', N'false'\r
+GO\r
+\r
+exec sp_dboption N'GHTDB', N'bulkcopy', N'true'\r
+GO\r
+\r
+exec sp_dboption N'GHTDB', N'trunc. log', N'true'\r
+GO\r
+\r
+exec sp_dboption N'GHTDB', N'torn page detection', N'true'\r
+GO\r
+\r
+exec sp_dboption N'GHTDB', N'read only', N'false'\r
+GO\r
+\r
+exec sp_dboption N'GHTDB', N'dbo use', N'false'\r
+GO\r
+\r
+exec sp_dboption N'GHTDB', N'single', N'false'\r
+GO\r
+\r
+exec sp_dboption N'GHTDB', N'autoshrink', N'false'\r
+GO\r
+\r
+exec sp_dboption N'GHTDB', N'ANSI null default', N'false'\r
+GO\r
+\r
+exec sp_dboption N'GHTDB', N'recursive triggers', N'false'\r
+GO\r
+\r
+exec sp_dboption N'GHTDB', N'ANSI nulls', N'false'\r
+GO\r
+\r
+exec sp_dboption N'GHTDB', N'concat null yields null', N'false'\r
+GO\r
+\r
+exec sp_dboption N'GHTDB', N'cursor close on commit', N'false'\r
+GO\r
+\r
+exec sp_dboption N'GHTDB', N'default to local cursor', N'false'\r
+GO\r
+\r
+exec sp_dboption N'GHTDB', N'quoted identifier', N'false'\r
+GO\r
+\r
+exec sp_dboption N'GHTDB', N'ANSI warnings', N'false'\r
+GO\r
+\r
+exec sp_dboption N'GHTDB', N'auto create statistics', N'true'\r
+GO\r
+\r
+exec sp_dboption N'GHTDB', N'auto update statistics', N'true'\r
+GO\r
+\r
+if( ( (@@microsoftversion / power(2, 24) = 8) and (@@microsoftversion & 0xffff >= 724) ) or ( (@@microsoftversion / power(2, 24) = 7) and (@@microsoftversion & 0xffff >= 1082) ) )\r
+       exec sp_dboption N'GHTDB', N'db chaining', N'false'\r
+GO\r
+\r
+use [GHTDB]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_Products_Categories]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)\r
+ALTER TABLE [dbo].[Products] DROP CONSTRAINT FK_Products_Categories\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_CustomerCustomerDemo]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)\r
+ALTER TABLE [dbo].[CustomerCustomerDemo] DROP CONSTRAINT FK_CustomerCustomerDemo\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_CustomerCustomerDemo_Customers]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)\r
+ALTER TABLE [dbo].[CustomerCustomerDemo] DROP CONSTRAINT FK_CustomerCustomerDemo_Customers\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_Orders_Customers]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)\r
+ALTER TABLE [dbo].[Orders] DROP CONSTRAINT FK_Orders_Customers\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_Employees_Employees]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)\r
+ALTER TABLE [dbo].[Employees] DROP CONSTRAINT FK_Employees_Employees\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_EmployeeTerritories_Employees]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)\r
+ALTER TABLE [dbo].[EmployeeTerritories] DROP CONSTRAINT FK_EmployeeTerritories_Employees\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_Orders_Employees]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)\r
+ALTER TABLE [dbo].[Orders] DROP CONSTRAINT FK_Orders_Employees\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_Order_Details_Orders]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)\r
+ALTER TABLE [dbo].[Order Details] DROP CONSTRAINT FK_Order_Details_Orders\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_Order_Details_Products]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)\r
+ALTER TABLE [dbo].[Order Details] DROP CONSTRAINT FK_Order_Details_Products\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_Territories_Region]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)\r
+ALTER TABLE [dbo].[Territories] DROP CONSTRAINT FK_Territories_Region\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_Orders_Shippers]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)\r
+ALTER TABLE [dbo].[Orders] DROP CONSTRAINT FK_Orders_Shippers\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_Products_Suppliers]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)\r
+ALTER TABLE [dbo].[Products] DROP CONSTRAINT FK_Products_Suppliers\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_EmployeeTerritories_Territories]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)\r
+ALTER TABLE [dbo].[EmployeeTerritories] DROP CONSTRAINT FK_EmployeeTerritories_Territories\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[CustOrderHist]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)\r
+drop procedure [dbo].[CustOrderHist]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[CustOrdersDetail]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)\r
+drop procedure [dbo].[CustOrdersDetail]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[CustOrdersOrders]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)\r
+drop procedure [dbo].[CustOrdersOrders]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Employee Sales by Country]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)\r
+drop procedure [dbo].[Employee Sales by Country]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GH_CreateTable]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)\r
+drop procedure [dbo].[GH_CreateTable]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GH_MultiRecordSets]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)\r
+drop procedure [dbo].[GH_MultiRecordSets]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GH_INOUT1]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)\r
+drop procedure [dbo].[GH_INOUT1]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GH_REFCURSOR1]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)\r
+drop procedure [dbo].[GH_REFCURSOR1]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GH_REFCURSOR2]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)\r
+drop procedure [dbo].[GH_REFCURSOR2]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GH_REFCURSOR3]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)\r
+drop procedure [dbo].[GH_REFCURSOR3]\r
+GO\r
+\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Sales by Year]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)\r
+drop procedure [dbo].[Sales by Year]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[SalesByCategory]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)\r
+drop procedure [dbo].[SalesByCategory]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Ten Most Expensive Products]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)\r
+drop procedure [dbo].[Ten Most Expensive Products]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Category Sales for 1997]') and OBJECTPROPERTY(id, N'IsView') = 1)\r
+drop view [dbo].[Category Sales for 1997]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Sales Totals by Amount]') and OBJECTPROPERTY(id, N'IsView') = 1)\r
+drop view [dbo].[Sales Totals by Amount]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Sales by Category]') and OBJECTPROPERTY(id, N'IsView') = 1)\r
+drop view [dbo].[Sales by Category]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Summary of Sales by Quarter]') and OBJECTPROPERTY(id, N'IsView') = 1)\r
+drop view [dbo].[Summary of Sales by Quarter]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Summary of Sales by Year]') and OBJECTPROPERTY(id, N'IsView') = 1)\r
+drop view [dbo].[Summary of Sales by Year]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Invoices]') and OBJECTPROPERTY(id, N'IsView') = 1)\r
+drop view [dbo].[Invoices]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Order Details Extended]') and OBJECTPROPERTY(id, N'IsView') = 1)\r
+drop view [dbo].[Order Details Extended]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Order Subtotals]') and OBJECTPROPERTY(id, N'IsView') = 1)\r
+drop view [dbo].[Order Subtotals]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Product Sales for 1997]') and OBJECTPROPERTY(id, N'IsView') = 1)\r
+drop view [dbo].[Product Sales for 1997]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Alphabetical list of products]') and OBJECTPROPERTY(id, N'IsView') = 1)\r
+drop view [dbo].[Alphabetical list of products]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Current Product List]') and OBJECTPROPERTY(id, N'IsView') = 1)\r
+drop view [dbo].[Current Product List]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Orders Qry]') and OBJECTPROPERTY(id, N'IsView') = 1)\r
+drop view [dbo].[Orders Qry]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Products Above Average Price]') and OBJECTPROPERTY(id, N'IsView') = 1)\r
+drop view [dbo].[Products Above Average Price]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Products by Category]') and OBJECTPROPERTY(id, N'IsView') = 1)\r
+drop view [dbo].[Products by Category]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Quarterly Orders]') and OBJECTPROPERTY(id, N'IsView') = 1)\r
+drop view [dbo].[Quarterly Orders]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Categories]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)\r
+drop table [dbo].[Categories]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[CustomerCustomerDemo]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)\r
+drop table [dbo].[CustomerCustomerDemo]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[CustomerDemographics]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)\r
+drop table [dbo].[CustomerDemographics]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Customers]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)\r
+drop table [dbo].[Customers]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[EmployeeTerritories]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)\r
+drop table [dbo].[EmployeeTerritories]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Employees]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)\r
+drop table [dbo].[Employees]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GH_EMPTYTABLE]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)\r
+drop table [dbo].[GH_EMPTYTABLE]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Order Details]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)\r
+drop table [dbo].[Order Details]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Orders]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)\r
+drop table [dbo].[Orders]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Products]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)\r
+drop table [dbo].[Products]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Region]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)\r
+drop table [dbo].[Region]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Shippers]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)\r
+drop table [dbo].[Shippers]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Suppliers]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)\r
+drop table [dbo].[Suppliers]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Territories]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)\r
+drop table [dbo].[Territories]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Types_Simple]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)\r
+drop table [dbo].[Types_Simple]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Types_Extended]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)\r
+drop table [dbo].[Types_Extended]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Types_Specific]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)\r
+drop table [dbo].[Types_Specific]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GHSP_TYPES_SIMPLE_1]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)\r
+drop procedure [dbo].[GHSP_TYPES_SIMPLE_1]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GHSP_TYPES_SIMPLE_2]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)\r
+drop procedure [dbo].[GHSP_TYPES_SIMPLE_2]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GHSP_TYPES_SIMPLE_3]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)\r
+drop procedure [dbo].[GHSP_TYPES_SIMPLE_3]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GHSP_TYPES_SIMPLE_4]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)\r
+drop procedure [dbo].[GHSP_TYPES_SIMPLE_4]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GHSP_TYPES_SIMPLE_5]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)\r
+drop procedure [dbo].[GHSP_TYPES_SIMPLE_5]\r
+GO\r
+\r
+SET QUOTED_IDENTIFIER OFF \r
+GO\r
+SET ANSI_NULLS OFF \r
+GO\r
+\r
+\r
+CREATE TABLE [dbo].[TYPES_SIMPLE] (\r
+-- ID\r
+       [ID] char(10) NULL,\r
+       [T_BIT] [bit] NULL ,\r
+-- integer\r
+       [T_TINYINT] [tinyint] NULL ,\r
+       [T_SMALLINT] [smallint] NULL ,\r
+       [T_INT] [int] NULL ,\r
+       [T_BIGINT] [bigint] NULL ,\r
+-- float\r
+       [T_DECIMAL] [decimal](18, 0) NULL ,\r
+       [T_NUMERIC] [numeric](18, 0) NULL ,\r
+       [T_FLOAT] [float] NULL ,\r
+       [T_REAL] [real] NULL ,\r
+-- text\r
+       [T_CHAR] [char] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [T_NCHAR] [nchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [T_VARCHAR] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [T_NVARCHAR] [nvarchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL\r
+) ON [PRIMARY]\r
+GO\r
+\r
+CREATE TABLE [dbo].[TYPES_EXTENDED] (\r
+-- ID\r
+       [ID] char(10) NULL,\r
+-- Text\r
+       [T_TEXT] [text] COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [T_NTEXT] [ntext] COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+-- Binary\r
+       [T_BINARY] [binary] (50) NULL ,\r
+       [T_VARBINARY] [varbinary] (50) NULL ,\r
+--Time\r
+       [T_DATETIME] [datetime] NULL ,\r
+       [T_SMALLDATETIME] [smalldatetime] NULL \r
+) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]\r
+\r
+CREATE TABLE [dbo].[TYPES_SPECIFIC] (\r
+-- ID\r
+       [ID] char(10) NULL,\r
+       [T_SMALLMONEY] [smallmoney] NULL ,\r
+       [T_MONEY] [money] NULL ,\r
+       [T_IMAGE] [image] NULL ,\r
+       [T_UNIQUEIDENTIFIER] [uniqueidentifier] NULL ,\r
+       [T_SQL_VARIANT] [sql_variant] NULL ,\r
+       [T_TIMESTAMP] [timestamp] NULL\r
+) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]\r
+GO\r
+\r
+CREATE TABLE [dbo].[Categories] (\r
+       [CategoryID] [int] IDENTITY (1, 1) NOT NULL ,\r
+       [CategoryName] [nvarchar] (15) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,\r
+       [Description] [ntext] COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [Picture] [image] NULL \r
+) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]\r
+GO\r
+\r
+CREATE TABLE [dbo].[CustomerCustomerDemo] (\r
+       [CustomerID] [nchar] (5) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,\r
+       [CustomerTypeID] [nchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL \r
+) ON [PRIMARY]\r
+GO\r
+\r
+CREATE TABLE [dbo].[CustomerDemographics] (\r
+       [CustomerTypeID] [nchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,\r
+       [CustomerDesc] [ntext] COLLATE SQL_Latin1_General_CP1_CI_AS NULL \r
+) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]\r
+GO\r
+\r
+CREATE TABLE [dbo].[Customers] (\r
+       [CustomerID] [nchar] (5) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,\r
+       [CompanyName] [nvarchar] (40) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,\r
+       [ContactName] [nvarchar] (30) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [ContactTitle] [nvarchar] (30) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [Address] [nvarchar] (60) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [City] [nvarchar] (15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [Region] [nvarchar] (15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [PostalCode] [nvarchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [Country] [nvarchar] (15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [Phone] [nvarchar] (24) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [Fax] [nvarchar] (24) COLLATE SQL_Latin1_General_CP1_CI_AS NULL \r
+) ON [PRIMARY]\r
+GO\r
+\r
+CREATE TABLE [dbo].[EmployeeTerritories] (\r
+       [EmployeeID] [int] NOT NULL ,\r
+       [TerritoryID] [nvarchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL \r
+) ON [PRIMARY]\r
+GO\r
+\r
+CREATE TABLE [dbo].[Employees] (\r
+       [EmployeeID] [int] NOT NULL ,\r
+       [LastName] [nvarchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,\r
+       [FirstName] [nvarchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,\r
+       [Title] [nvarchar] (30) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [TitleOfCourtesy] [nvarchar] (25) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [BirthDate] [datetime] NULL ,\r
+       [HireDate] [datetime] NULL ,\r
+       [Address] [nvarchar] (60) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [City] [nvarchar] (15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [Region] [nvarchar] (15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [PostalCode] [nvarchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [Country] [nvarchar] (15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [HomePhone] [nvarchar] (24) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [Extension] [nvarchar] (4) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [Photo] [image] NULL ,\r
+       [Notes] [ntext] COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [ReportsTo] [int] NULL ,\r
+       [PhotoPath] [nvarchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL \r
+) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]\r
+GO\r
+\r
+CREATE TABLE [dbo].[GH_EMPTYTABLE] (\r
+       [Col1] [int] NULL ,\r
+       [Col2] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL \r
+) ON [PRIMARY]\r
+GO\r
+\r
+CREATE TABLE [dbo].[Order Details] (\r
+       [OrderID] [int] NOT NULL ,\r
+       [ProductID] [int] NOT NULL ,\r
+       [UnitPrice] [money] NOT NULL ,\r
+       [Quantity] [smallint] NOT NULL ,\r
+       [Discount] [real] NOT NULL \r
+) ON [PRIMARY]\r
+GO\r
+\r
+CREATE TABLE [dbo].[Orders] (\r
+       [OrderID] [int] IDENTITY (1, 1) NOT NULL ,\r
+       [CustomerID] [nchar] (5) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [EmployeeID] [int] NULL ,\r
+       [OrderDate] [datetime] NULL ,\r
+       [RequiredDate] [datetime] NULL ,\r
+       [ShippedDate] [datetime] NULL ,\r
+       [ShipVia] [int] NULL ,\r
+       [Freight] [money] NULL ,\r
+       [ShipName] [nvarchar] (40) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [ShipAddress] [nvarchar] (60) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [ShipCity] [nvarchar] (15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [ShipRegion] [nvarchar] (15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [ShipPostalCode] [nvarchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [ShipCountry] [nvarchar] (15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL \r
+) ON [PRIMARY]\r
+GO\r
+\r
+CREATE TABLE [dbo].[Products] (\r
+       [ProductID] [int] IDENTITY (1, 1) NOT NULL ,\r
+       [ProductName] [nvarchar] (40) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,\r
+       [SupplierID] [int] NULL ,\r
+       [CategoryID] [int] NULL ,\r
+       [QuantityPerUnit] [nvarchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [UnitPrice] [money] NULL ,\r
+       [UnitsInStock] [smallint] NULL ,\r
+       [UnitsOnOrder] [smallint] NULL ,\r
+       [ReorderLevel] [smallint] NULL ,\r
+       [Discontinued] [bit] NOT NULL \r
+) ON [PRIMARY]\r
+GO\r
+\r
+CREATE TABLE [dbo].[Region] (\r
+       [RegionID] [int] NOT NULL ,\r
+       [RegionDescription] [nchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL \r
+) ON [PRIMARY]\r
+GO\r
+\r
+CREATE TABLE [dbo].[Shippers] (\r
+       [ShipperID] [int] IDENTITY (1, 1) NOT NULL ,\r
+       [CompanyName] [nvarchar] (40) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,\r
+       [Phone] [nvarchar] (24) COLLATE SQL_Latin1_General_CP1_CI_AS NULL \r
+) ON [PRIMARY]\r
+GO\r
+\r
+CREATE TABLE [dbo].[Suppliers] (\r
+       [SupplierID] [int] IDENTITY (1, 1) NOT NULL ,\r
+       [CompanyName] [nvarchar] (40) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,\r
+       [ContactName] [nvarchar] (30) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [ContactTitle] [nvarchar] (30) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [Address] [nvarchar] (60) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [City] [nvarchar] (15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [Region] [nvarchar] (15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [PostalCode] [nvarchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [Country] [nvarchar] (15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [Phone] [nvarchar] (24) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [Fax] [nvarchar] (24) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [HomePage] [ntext] COLLATE SQL_Latin1_General_CP1_CI_AS NULL \r
+) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]\r
+GO\r
+\r
+CREATE TABLE [dbo].[Territories] (\r
+       [TerritoryID] [nvarchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,\r
+       [TerritoryDescription] [nchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,\r
+       [RegionID] [int] NOT NULL \r
+) ON [PRIMARY]\r
+GO\r
+\r
+ALTER TABLE [dbo].[Categories] WITH NOCHECK ADD \r
+       CONSTRAINT [PK_Categories] PRIMARY KEY  CLUSTERED \r
+       (\r
+               [CategoryID]\r
+       )  ON [PRIMARY] \r
+GO\r
+\r
+ALTER TABLE [dbo].[Customers] WITH NOCHECK ADD \r
+       CONSTRAINT [PK_Customers] PRIMARY KEY  CLUSTERED \r
+       (\r
+               [CustomerID]\r
+       )  ON [PRIMARY] \r
+GO\r
+\r
+ALTER TABLE [dbo].[Employees] WITH NOCHECK ADD \r
+       CONSTRAINT [PK_Employees] PRIMARY KEY  CLUSTERED \r
+       (\r
+               [EmployeeID]\r
+       )  ON [PRIMARY] \r
+GO\r
+\r
+ALTER TABLE [dbo].[Order Details] WITH NOCHECK ADD \r
+       CONSTRAINT [PK_Order_Details] PRIMARY KEY  CLUSTERED \r
+       (\r
+               [OrderID],\r
+               [ProductID]\r
+       )  ON [PRIMARY] \r
+GO\r
+\r
+ALTER TABLE [dbo].[Orders] WITH NOCHECK ADD \r
+       CONSTRAINT [PK_Orders] PRIMARY KEY  CLUSTERED \r
+       (\r
+               [OrderID]\r
+       )  ON [PRIMARY] \r
+GO\r
+\r
+ALTER TABLE [dbo].[Products] WITH NOCHECK ADD \r
+       CONSTRAINT [PK_Products] PRIMARY KEY  CLUSTERED \r
+       (\r
+               [ProductID]\r
+       )  ON [PRIMARY] \r
+GO\r
+\r
+ALTER TABLE [dbo].[Shippers] WITH NOCHECK ADD \r
+       CONSTRAINT [PK_Shippers] PRIMARY KEY  CLUSTERED \r
+       (\r
+               [ShipperID]\r
+       )  ON [PRIMARY] \r
+GO\r
+\r
+ALTER TABLE [dbo].[Suppliers] WITH NOCHECK ADD \r
+       CONSTRAINT [PK_Suppliers] PRIMARY KEY  CLUSTERED \r
+       (\r
+               [SupplierID]\r
+       )  ON [PRIMARY] \r
+GO\r
+\r
+ CREATE  INDEX [CategoryName] ON [dbo].[Categories]([CategoryName]) ON [PRIMARY]\r
+GO\r
+\r
+ALTER TABLE [dbo].[CustomerCustomerDemo] ADD \r
+       CONSTRAINT [PK_CustomerCustomerDemo] PRIMARY KEY  NONCLUSTERED \r
+       (\r
+               [CustomerID],\r
+               [CustomerTypeID]\r
+       )  ON [PRIMARY] \r
+GO\r
+\r
+ALTER TABLE [dbo].[CustomerDemographics] ADD \r
+       CONSTRAINT [PK_CustomerDemographics] PRIMARY KEY  NONCLUSTERED \r
+       (\r
+               [CustomerTypeID]\r
+       )  ON [PRIMARY] \r
+GO\r
+\r
+ CREATE  INDEX [City] ON [dbo].[Customers]([City]) ON [PRIMARY]\r
+GO\r
+\r
+ CREATE  INDEX [CompanyName] ON [dbo].[Customers]([CompanyName]) ON [PRIMARY]\r
+GO\r
+\r
+ CREATE  INDEX [PostalCode] ON [dbo].[Customers]([PostalCode]) ON [PRIMARY]\r
+GO\r
+\r
+ CREATE  INDEX [Region] ON [dbo].[Customers]([Region]) ON [PRIMARY]\r
+GO\r
+\r
+ALTER TABLE [dbo].[EmployeeTerritories] ADD \r
+       CONSTRAINT [PK_EmployeeTerritories] PRIMARY KEY  NONCLUSTERED \r
+       (\r
+               [EmployeeID],\r
+               [TerritoryID]\r
+       )  ON [PRIMARY] \r
+GO\r
+\r
+ALTER TABLE [dbo].[Employees] ADD \r
+       CONSTRAINT [CK_Birthdate] CHECK ([BirthDate] < getdate())\r
+GO\r
+\r
+ CREATE  INDEX [LastName] ON [dbo].[Employees]([LastName]) ON [PRIMARY]\r
+GO\r
+\r
+ CREATE  INDEX [PostalCode] ON [dbo].[Employees]([PostalCode]) ON [PRIMARY]\r
+GO\r
+\r
+ALTER TABLE [dbo].[Order Details] ADD \r
+       CONSTRAINT [DF_Order_Details_UnitPrice] DEFAULT (0) FOR [UnitPrice],\r
+       CONSTRAINT [DF_Order_Details_Quantity] DEFAULT (1) FOR [Quantity],\r
+       CONSTRAINT [DF_Order_Details_Discount] DEFAULT (0) FOR [Discount],\r
+       CONSTRAINT [CK_Discount] CHECK ([Discount] >= 0 and [Discount] <= 1),\r
+       CONSTRAINT [CK_Quantity] CHECK ([Quantity] > 0),\r
+       CONSTRAINT [CK_UnitPrice] CHECK ([UnitPrice] >= 0)\r
+GO\r
+\r
+ CREATE  INDEX [OrderID] ON [dbo].[Order Details]([OrderID]) ON [PRIMARY]\r
+GO\r
+\r
+ CREATE  INDEX [OrdersOrder_Details] ON [dbo].[Order Details]([OrderID]) ON [PRIMARY]\r
+GO\r
+\r
+ CREATE  INDEX [ProductID] ON [dbo].[Order Details]([ProductID]) ON [PRIMARY]\r
+GO\r
+\r
+ CREATE  INDEX [ProductsOrder_Details] ON [dbo].[Order Details]([ProductID]) ON [PRIMARY]\r
+GO\r
+\r
+ALTER TABLE [dbo].[Orders] ADD \r
+       CONSTRAINT [DF_Orders_Freight] DEFAULT (0) FOR [Freight]\r
+GO\r
+\r
+ CREATE  INDEX [CustomerID] ON [dbo].[Orders]([CustomerID]) ON [PRIMARY]\r
+GO\r
+\r
+ CREATE  INDEX [CustomersOrders] ON [dbo].[Orders]([CustomerID]) ON [PRIMARY]\r
+GO\r
+\r
+ CREATE  INDEX [EmployeeID] ON [dbo].[Orders]([EmployeeID]) ON [PRIMARY]\r
+GO\r
+\r
+ CREATE  INDEX [EmployeesOrders] ON [dbo].[Orders]([EmployeeID]) ON [PRIMARY]\r
+GO\r
+\r
+ CREATE  INDEX [OrderDate] ON [dbo].[Orders]([OrderDate]) ON [PRIMARY]\r
+GO\r
+\r
+ CREATE  INDEX [ShippedDate] ON [dbo].[Orders]([ShippedDate]) ON [PRIMARY]\r
+GO\r
+\r
+ CREATE  INDEX [ShippersOrders] ON [dbo].[Orders]([ShipVia]) ON [PRIMARY]\r
+GO\r
+\r
+ CREATE  INDEX [ShipPostalCode] ON [dbo].[Orders]([ShipPostalCode]) ON [PRIMARY]\r
+GO\r
+\r
+ALTER TABLE [dbo].[Products] ADD \r
+       CONSTRAINT [DF_Products_UnitPrice] DEFAULT (0) FOR [UnitPrice],\r
+       CONSTRAINT [DF_Products_UnitsInStock] DEFAULT (0) FOR [UnitsInStock],\r
+       CONSTRAINT [DF_Products_UnitsOnOrder] DEFAULT (0) FOR [UnitsOnOrder],\r
+       CONSTRAINT [DF_Products_ReorderLevel] DEFAULT (0) FOR [ReorderLevel],\r
+       CONSTRAINT [DF_Products_Discontinued] DEFAULT (0) FOR [Discontinued],\r
+       CONSTRAINT [CK_Products_UnitPrice] CHECK ([UnitPrice] >= 0),\r
+       CONSTRAINT [CK_ReorderLevel] CHECK ([ReorderLevel] >= 0),\r
+       CONSTRAINT [CK_UnitsInStock] CHECK ([UnitsInStock] >= 0),\r
+       CONSTRAINT [CK_UnitsOnOrder] CHECK ([UnitsOnOrder] >= 0)\r
+GO\r
+\r
+ CREATE  INDEX [CategoriesProducts] ON [dbo].[Products]([CategoryID]) ON [PRIMARY]\r
+GO\r
+\r
+ CREATE  INDEX [CategoryID] ON [dbo].[Products]([CategoryID]) ON [PRIMARY]\r
+GO\r
+\r
+ CREATE  INDEX [ProductName] ON [dbo].[Products]([ProductName]) ON [PRIMARY]\r
+GO\r
+\r
+ CREATE  INDEX [SupplierID] ON [dbo].[Products]([SupplierID]) ON [PRIMARY]\r
+GO\r
+\r
+ CREATE  INDEX [SuppliersProducts] ON [dbo].[Products]([SupplierID]) ON [PRIMARY]\r
+GO\r
+\r
+ALTER TABLE [dbo].[Region] ADD \r
+       CONSTRAINT [PK_Region] PRIMARY KEY  NONCLUSTERED \r
+       (\r
+               [RegionID]\r
+       )  ON [PRIMARY] \r
+GO\r
+\r
+ CREATE  INDEX [CompanyName] ON [dbo].[Suppliers]([CompanyName]) ON [PRIMARY]\r
+GO\r
+\r
+ CREATE  INDEX [PostalCode] ON [dbo].[Suppliers]([PostalCode]) ON [PRIMARY]\r
+GO\r
+\r
+ALTER TABLE [dbo].[Territories] ADD \r
+       CONSTRAINT [PK_Territories] PRIMARY KEY  NONCLUSTERED \r
+       (\r
+               [TerritoryID]\r
+       )  ON [PRIMARY] \r
+GO\r
+\r
+ALTER TABLE [dbo].[CustomerCustomerDemo] ADD \r
+       CONSTRAINT [FK_CustomerCustomerDemo] FOREIGN KEY \r
+       (\r
+               [CustomerTypeID]\r
+       ) REFERENCES [dbo].[CustomerDemographics] (\r
+               [CustomerTypeID]\r
+       ),\r
+       CONSTRAINT [FK_CustomerCustomerDemo_Customers] FOREIGN KEY \r
+       (\r
+               [CustomerID]\r
+       ) REFERENCES [dbo].[Customers] (\r
+               [CustomerID]\r
+       )\r
+GO\r
+\r
+ALTER TABLE [dbo].[EmployeeTerritories] ADD \r
+       CONSTRAINT [FK_EmployeeTerritories_Employees] FOREIGN KEY \r
+       (\r
+               [EmployeeID]\r
+       ) REFERENCES [dbo].[Employees] (\r
+               [EmployeeID]\r
+       ),\r
+       CONSTRAINT [FK_EmployeeTerritories_Territories] FOREIGN KEY \r
+       (\r
+               [TerritoryID]\r
+       ) REFERENCES [dbo].[Territories] (\r
+               [TerritoryID]\r
+       )\r
+GO\r
+\r
+ALTER TABLE [dbo].[Employees] ADD \r
+       CONSTRAINT [FK_Employees_Employees] FOREIGN KEY \r
+       (\r
+               [ReportsTo]\r
+       ) REFERENCES [dbo].[Employees] (\r
+               [EmployeeID]\r
+       )\r
+GO\r
+\r
+ALTER TABLE [dbo].[Order Details] ADD \r
+       CONSTRAINT [FK_Order_Details_Orders] FOREIGN KEY \r
+       (\r
+               [OrderID]\r
+       ) REFERENCES [dbo].[Orders] (\r
+               [OrderID]\r
+       ),\r
+       CONSTRAINT [FK_Order_Details_Products] FOREIGN KEY \r
+       (\r
+               [ProductID]\r
+       ) REFERENCES [dbo].[Products] (\r
+               [ProductID]\r
+       )\r
+GO\r
+\r
+ALTER TABLE [dbo].[Orders] ADD \r
+       CONSTRAINT [FK_Orders_Customers] FOREIGN KEY \r
+       (\r
+               [CustomerID]\r
+       ) REFERENCES [dbo].[Customers] (\r
+               [CustomerID]\r
+       ),\r
+       CONSTRAINT [FK_Orders_Employees] FOREIGN KEY \r
+       (\r
+               [EmployeeID]\r
+       ) REFERENCES [dbo].[Employees] (\r
+               [EmployeeID]\r
+       ),\r
+       CONSTRAINT [FK_Orders_Shippers] FOREIGN KEY \r
+       (\r
+               [ShipVia]\r
+       ) REFERENCES [dbo].[Shippers] (\r
+               [ShipperID]\r
+       )\r
+GO\r
+\r
+ALTER TABLE [dbo].[Products] ADD \r
+       CONSTRAINT [FK_Products_Categories] FOREIGN KEY \r
+       (\r
+               [CategoryID]\r
+       ) REFERENCES [dbo].[Categories] (\r
+               [CategoryID]\r
+       ),\r
+       CONSTRAINT [FK_Products_Suppliers] FOREIGN KEY \r
+       (\r
+               [SupplierID]\r
+       ) REFERENCES [dbo].[Suppliers] (\r
+               [SupplierID]\r
+       )\r
+GO\r
+\r
+ALTER TABLE [dbo].[Territories] ADD \r
+       CONSTRAINT [FK_Territories_Region] FOREIGN KEY \r
+       (\r
+               [RegionID]\r
+       ) REFERENCES [dbo].[Region] (\r
+               [RegionID]\r
+       )\r
+GO\r
+\r
+SET QUOTED_IDENTIFIER ON \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+create view "Current Product List" AS\r
+SELECT Product_List.ProductID, Product_List.ProductName\r
+FROM Products AS Product_List\r
+WHERE (((Product_List.Discontinued)=0))\r
+--ORDER BY Product_List.ProductName\r
+\r
+GO\r
+SET QUOTED_IDENTIFIER OFF \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+SET QUOTED_IDENTIFIER ON \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+create view "Orders Qry" AS\r
+SELECT Orders.OrderID, Orders.CustomerID, Orders.EmployeeID, Orders.OrderDate, Orders.RequiredDate, \r
+       Orders.ShippedDate, Orders.ShipVia, Orders.Freight, Orders.ShipName, Orders.ShipAddress, Orders.ShipCity, \r
+       Orders.ShipRegion, Orders.ShipPostalCode, Orders.ShipCountry, \r
+       Customers.CompanyName, Customers.Address, Customers.City, Customers.Region, Customers.PostalCode, Customers.Country\r
+FROM Customers INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID\r
+\r
+GO\r
+SET QUOTED_IDENTIFIER OFF \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+SET QUOTED_IDENTIFIER ON \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+create view "Products Above Average Price" AS\r
+SELECT Products.ProductName, Products.UnitPrice\r
+FROM Products\r
+WHERE Products.UnitPrice>(SELECT AVG(UnitPrice) From Products)\r
+--ORDER BY Products.UnitPrice DESC\r
+\r
+GO\r
+SET QUOTED_IDENTIFIER OFF \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+SET QUOTED_IDENTIFIER ON \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+create view "Products by Category" AS\r
+SELECT Categories.CategoryName, Products.ProductName, Products.QuantityPerUnit, Products.UnitsInStock, Products.Discontinued\r
+FROM Categories INNER JOIN Products ON Categories.CategoryID = Products.CategoryID\r
+WHERE Products.Discontinued <> 1\r
+--ORDER BY Categories.CategoryName, Products.ProductName\r
+\r
+GO\r
+SET QUOTED_IDENTIFIER OFF \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+SET QUOTED_IDENTIFIER ON \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+create view "Quarterly Orders" AS\r
+SELECT DISTINCT Customers.CustomerID, Customers.CompanyName, Customers.City, Customers.Country\r
+FROM Customers RIGHT JOIN Orders ON Customers.CustomerID = Orders.CustomerID\r
+WHERE Orders.OrderDate BETWEEN '19970101' And '19971231'\r
+\r
+GO\r
+SET QUOTED_IDENTIFIER OFF \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+SET QUOTED_IDENTIFIER ON \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+create view Invoices AS\r
+SELECT Orders.ShipName, Orders.ShipAddress, Orders.ShipCity, Orders.ShipRegion, Orders.ShipPostalCode, \r
+       Orders.ShipCountry, Orders.CustomerID, Customers.CompanyName AS CustomerName, Customers.Address, Customers.City, \r
+       Customers.Region, Customers.PostalCode, Customers.Country, \r
+       (FirstName + ' ' + LastName) AS Salesperson, \r
+       Orders.OrderID, Orders.OrderDate, Orders.RequiredDate, Orders.ShippedDate, Shippers.CompanyName As ShipperName, \r
+       "Order Details".ProductID, Products.ProductName, "Order Details".UnitPrice, "Order Details".Quantity, \r
+       "Order Details".Discount, \r
+       (CONVERT(money,("Order Details".UnitPrice*Quantity*(1-Discount)/100))*100) AS ExtendedPrice, Orders.Freight\r
+FROM   Shippers INNER JOIN \r
+               (Products INNER JOIN \r
+                       (\r
+                               (Employees INNER JOIN \r
+                                       (Customers INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID) \r
+                               ON Employees.EmployeeID = Orders.EmployeeID) \r
+                       INNER JOIN "Order Details" ON Orders.OrderID = "Order Details".OrderID) \r
+               ON Products.ProductID = "Order Details".ProductID) \r
+       ON Shippers.ShipperID = Orders.ShipVia\r
+\r
+GO\r
+SET QUOTED_IDENTIFIER OFF \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+SET QUOTED_IDENTIFIER ON \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+create view "Order Details Extended" AS\r
+SELECT "Order Details".OrderID, "Order Details".ProductID, Products.ProductName, \r
+       "Order Details".UnitPrice, "Order Details".Quantity, "Order Details".Discount, \r
+       (CONVERT(money,("Order Details".UnitPrice*Quantity*(1-Discount)/100))*100) AS ExtendedPrice\r
+FROM Products INNER JOIN "Order Details" ON Products.ProductID = "Order Details".ProductID\r
+--ORDER BY "Order Details".OrderID\r
+\r
+GO\r
+SET QUOTED_IDENTIFIER OFF \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+SET QUOTED_IDENTIFIER ON \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+create view "Order Subtotals" AS\r
+SELECT "Order Details".OrderID, Sum(CONVERT(money,("Order Details".UnitPrice*Quantity*(1-Discount)/100))*100) AS Subtotal\r
+FROM "Order Details"\r
+GROUP BY "Order Details".OrderID\r
+\r
+GO\r
+SET QUOTED_IDENTIFIER OFF \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+SET QUOTED_IDENTIFIER ON \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+create view "Product Sales for 1997" AS\r
+SELECT Categories.CategoryName, Products.ProductName, \r
+Sum(CONVERT(money,("Order Details".UnitPrice*Quantity*(1-Discount)/100))*100) AS ProductSales\r
+FROM (Categories INNER JOIN Products ON Categories.CategoryID = Products.CategoryID) \r
+       INNER JOIN (Orders \r
+               INNER JOIN "Order Details" ON Orders.OrderID = "Order Details".OrderID) \r
+       ON Products.ProductID = "Order Details".ProductID\r
+WHERE (((Orders.ShippedDate) Between '19970101' And '19971231'))\r
+GROUP BY Categories.CategoryName, Products.ProductName\r
+\r
+GO\r
+SET QUOTED_IDENTIFIER OFF \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+SET QUOTED_IDENTIFIER ON \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+create view "Category Sales for 1997" AS\r
+SELECT "Product Sales for 1997".CategoryName, Sum("Product Sales for 1997".ProductSales) AS CategorySales\r
+FROM "Product Sales for 1997"\r
+GROUP BY "Product Sales for 1997".CategoryName\r
+\r
+GO\r
+SET QUOTED_IDENTIFIER OFF \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+SET QUOTED_IDENTIFIER ON \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+create view "Sales Totals by Amount" AS\r
+SELECT "Order Subtotals".Subtotal AS SaleAmount, Orders.OrderID, Customers.CompanyName, Orders.ShippedDate\r
+FROM   Customers INNER JOIN \r
+               (Orders INNER JOIN "Order Subtotals" ON Orders.OrderID = "Order Subtotals".OrderID) \r
+       ON Customers.CustomerID = Orders.CustomerID\r
+WHERE ("Order Subtotals".Subtotal >2500) AND (Orders.ShippedDate BETWEEN '19970101' And '19971231')\r
+\r
+GO\r
+SET QUOTED_IDENTIFIER OFF \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+SET QUOTED_IDENTIFIER ON \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+create view "Sales by Category" AS\r
+SELECT Categories.CategoryID, Categories.CategoryName, Products.ProductName, \r
+       Sum("Order Details Extended".ExtendedPrice) AS ProductSales\r
+FROM   Categories INNER JOIN \r
+               (Products INNER JOIN \r
+                       (Orders INNER JOIN "Order Details Extended" ON Orders.OrderID = "Order Details Extended".OrderID) \r
+               ON Products.ProductID = "Order Details Extended".ProductID) \r
+       ON Categories.CategoryID = Products.CategoryID\r
+WHERE Orders.OrderDate BETWEEN '19970101' And '19971231'\r
+GROUP BY Categories.CategoryID, Categories.CategoryName, Products.ProductName\r
+--ORDER BY Products.ProductName\r
+\r
+GO\r
+SET QUOTED_IDENTIFIER OFF \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+SET QUOTED_IDENTIFIER ON \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+create view "Summary of Sales by Quarter" AS\r
+SELECT Orders.ShippedDate, Orders.OrderID, "Order Subtotals".Subtotal\r
+FROM Orders INNER JOIN "Order Subtotals" ON Orders.OrderID = "Order Subtotals".OrderID\r
+WHERE Orders.ShippedDate IS NOT NULL\r
+--ORDER BY Orders.ShippedDate\r
+\r
+GO\r
+SET QUOTED_IDENTIFIER OFF \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+SET QUOTED_IDENTIFIER ON \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+create view "Summary of Sales by Year" AS\r
+SELECT Orders.ShippedDate, Orders.OrderID, "Order Subtotals".Subtotal\r
+FROM Orders INNER JOIN "Order Subtotals" ON Orders.OrderID = "Order Subtotals".OrderID\r
+WHERE Orders.ShippedDate IS NOT NULL\r
+--ORDER BY Orders.ShippedDate\r
+\r
+GO\r
+SET QUOTED_IDENTIFIER OFF \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+SET QUOTED_IDENTIFIER ON \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+CREATE PROCEDURE CustOrderHist @CustomerID nchar(5)\r
+AS\r
+SELECT ProductName, Total=SUM(Quantity)\r
+FROM Products P, [Order Details] OD, Orders O, Customers C\r
+WHERE C.CustomerID = @CustomerID\r
+AND C.CustomerID = O.CustomerID AND O.OrderID = OD.OrderID AND OD.ProductID = P.ProductID\r
+GROUP BY ProductName\r
+\r
+GO\r
+SET QUOTED_IDENTIFIER OFF \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+SET QUOTED_IDENTIFIER ON \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+CREATE PROCEDURE CustOrdersDetail @OrderID int\r
+AS\r
+SELECT ProductName,\r
+    UnitPrice=ROUND(Od.UnitPrice, 2),\r
+    Quantity,\r
+    Discount=CONVERT(int, Discount * 100), \r
+    ExtendedPrice=ROUND(CONVERT(money, Quantity * (1 - Discount) * Od.UnitPrice), 2)\r
+FROM Products P, [Order Details] Od\r
+WHERE Od.ProductID = P.ProductID and Od.OrderID = @OrderID\r
+\r
+GO\r
+SET QUOTED_IDENTIFIER OFF \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+SET QUOTED_IDENTIFIER ON \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+CREATE PROCEDURE CustOrdersOrders @CustomerID nchar(5)\r
+AS\r
+SELECT OrderID, \r
+       OrderDate,\r
+       RequiredDate,\r
+       ShippedDate\r
+FROM Orders\r
+WHERE CustomerID = @CustomerID\r
+ORDER BY OrderID\r
+\r
+GO\r
+SET QUOTED_IDENTIFIER OFF \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+SET QUOTED_IDENTIFIER ON \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+create procedure "Employee Sales by Country" \r
+@Beginning_Date DateTime, @Ending_Date DateTime AS\r
+SELECT Employees.Country, Employees.LastName, Employees.FirstName, Orders.ShippedDate, Orders.OrderID, "Order Subtotals".Subtotal AS SaleAmount\r
+FROM Employees INNER JOIN \r
+       (Orders INNER JOIN "Order Subtotals" ON Orders.OrderID = "Order Subtotals".OrderID) \r
+       ON Employees.EmployeeID = Orders.EmployeeID\r
+WHERE Orders.ShippedDate Between @Beginning_Date And @Ending_Date\r
+\r
+GO\r
+SET QUOTED_IDENTIFIER OFF \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+SET QUOTED_IDENTIFIER ON \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+CREATE PROCEDURE GH_CREATETABLE\r
+AS\r
+Begin\r
+    --craete a temporary table\r
+     Create Table #temp_tbl (\r
+                            Col1 int,\r
+                            Col2 int\r
+                            )\r
+          --insert values to the table\r
+         insert into #temp_tbl values (11,12)\r
+         insert into #temp_tbl values (21,22)\r
+         insert into #temp_tbl values (31,32)\r
+         --execute select on the created table\r
+         select col1 as Value1, col2 as Value2 from #temp_tbl;\r
+         --Update Return code\r
+         end\r
+GO\r
+SET QUOTED_IDENTIFIER OFF \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+SET QUOTED_IDENTIFIER ON \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+CREATE PROCEDURE GH_MultiRecordSets \r
+as BEGIN\r
+    -- Declare cursor\r
+          SELECT EmployeeId, LastName FROM Employees where EmployeeId in (1,2) order by EmployeeId asc;\r
+          SELECT CustomerId, CompanyName,ContactName FROM Customers  where CustomerId in ('MORGK','NORTS') order by customerid asc;\r
+            -- return empty result set\r
+          SELECT OrderId, ShipAddress,ShipVia, ShipCity FROM Orders where OrderId=-1  ;\r
+END\r
+GO\r
+\r
+CREATE procedure GH_INOUT1\r
+@INPARAM varchar(20) ,\r
+@OUTPARAM  int output\r
+AS\r
+declare @L_INPARAM varchar(30) \r
+select L_INPARAM = @INPARAM\r
+select @OUTPARAM = 100\r
+GO\r
+\r
+\r
+CREATE procedure GH_REFCURSOR1\r
+AS\r
+SELECT EmployeeId, LastName FROM Employees\r
+WHERE EmployeeId=1;\r
+GO\r
+\r
+CREATE procedure GH_REFCURSOR2\r
+@IN_EMPLOYEEID int\r
+AS\r
+SELECT EmployeeId, LastName FROM Employees \r
+where EmployeeId = @IN_EMPLOYEEID\r
+GO\r
+\r
+\r
+CREATE procedure GH_REFCURSOR3\r
+@IN_LASTNAME varchar(20) AS\r
+SELECT EmployeeId, LastName FROM Employees  \r
+where LastName = @IN_LASTNAME\r
+GO\r
+\r
+\r
+\r
+SET QUOTED_IDENTIFIER OFF \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+SET QUOTED_IDENTIFIER ON \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+create procedure "Sales by Year" \r
+       @Beginning_Date DateTime, @Ending_Date DateTime AS\r
+SELECT Orders.ShippedDate, Orders.OrderID, "Order Subtotals".Subtotal, DATENAME(yy,ShippedDate) AS Year\r
+FROM Orders INNER JOIN "Order Subtotals" ON Orders.OrderID = "Order Subtotals".OrderID\r
+WHERE Orders.ShippedDate Between @Beginning_Date And @Ending_Date\r
+\r
+GO\r
+SET QUOTED_IDENTIFIER OFF \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+SET QUOTED_IDENTIFIER ON \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+CREATE PROCEDURE SalesByCategory\r
+    @CategoryName nvarchar(15), @OrdYear nvarchar(4) = '1998'\r
+AS\r
+IF @OrdYear != '1996' AND @OrdYear != '1997' AND @OrdYear != '1998' \r
+BEGIN\r
+       SELECT @OrdYear = '1998'\r
+END\r
+SELECT ProductName,\r
+       TotalPurchase=ROUND(SUM(CONVERT(decimal(14,2), OD.Quantity * (1-OD.Discount) * OD.UnitPrice)), 0)\r
+FROM [Order Details] OD, Orders O, Products P, Categories C\r
+WHERE OD.OrderID = O.OrderID \r
+       AND OD.ProductID = P.ProductID \r
+       AND P.CategoryID = C.CategoryID\r
+       AND C.CategoryName = @CategoryName\r
+       AND SUBSTRING(CONVERT(nvarchar(22), O.OrderDate, 111), 1, 4) = @OrdYear\r
+GROUP BY ProductName\r
+ORDER BY ProductName\r
+\r
+GO\r
+SET QUOTED_IDENTIFIER OFF \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+SET QUOTED_IDENTIFIER ON \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+create procedure "Ten Most Expensive Products" AS\r
+SET ROWCOUNT 10\r
+SELECT Products.ProductName AS TenMostExpensiveProducts, Products.UnitPrice\r
+FROM Products\r
+ORDER BY Products.UnitPrice DESC\r
+\r
+GO\r
+SET QUOTED_IDENTIFIER OFF \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+CREATE PROCEDURE GHSP_TYPES_SIMPLE_1\r
+@T_BIT bit ,\r
+@T_TINYINT tinyint,\r
+@T_SMALLINT smallint ,\r
+@T_INT int,\r
+@T_BIGINT bigint,\r
+@T_DECIMAL decimal(18, 0),\r
+@T_NUMERIC numeric(18, 0) ,\r
+@T_FLOAT float  ,\r
+@T_REAL  real  ,\r
+@T_CHAR char (10),\r
+@T_NCHAR nchar (10),\r
+@T_VARCHAR varchar (50) ,\r
+@T_NVARCHAR nvarchar (50)\r
+ AS\r
+SELECT @T_BIT as 'T_BIT', @T_TINYINT as 'T_TINYINT', @T_SMALLINT as 'T_SMALLINT' , @T_INT as 'T_INT', @T_BIGINT as 'T_BIGINT', @T_DECIMAL as 'T_DECIMAL',\r
+@T_NUMERIC as 'T_NUMERIC' , @T_FLOAT as 'T_FLOAT'  , @T_REAL  as 'T_REAL'  , @T_CHAR as 'T_CHAR', @T_NCHAR as 'T_NCHAR', @T_VARCHAR as 'T_VARCHAR' , @T_NVARCHAR as 'T_NVARCHAR'\r
+GO\r
+SET QUOTED_IDENTIFIER OFF \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+SET QUOTED_IDENTIFIER OFF \r
+GO\r
+SET ANSI_NULLS OFF \r
+GO\r
+\r
+CREATE PROCEDURE GHSP_TYPES_SIMPLE_2\r
+@T_BIT bit output,\r
+@T_TINYINT tinyint output,\r
+@T_SMALLINT smallint output,\r
+@T_INT int output,\r
+@T_BIGINT bigint output,\r
+@T_DECIMAL decimal(18, 0) output,\r
+@T_NUMERIC numeric(18, 0)  output,\r
+@T_FLOAT float output,\r
+@T_REAL  real output,\r
+@T_CHAR char (10) output,\r
+@T_NCHAR nchar (10) output,\r
+@T_VARCHAR varchar (50) output,\r
+@T_NVARCHAR nvarchar (50) output\r
+ AS\r
+IF @T_BIT=0\r
+       SELECT @T_BIT=1\r
+ELSE IF (@T_BIT=1)\r
+       SELECT @T_BIT=0\r
+SELECT @T_TINYINT = @T_TINYINT*2\r
+SELECT @T_SMALLINT = @T_SMALLINT*2 \r
+SELECT @T_INT = @T_INT*2\r
+SELECT @T_BIGINT = @T_BIGINT*2\r
+SELECT @T_DECIMAL = @T_DECIMAL*2\r
+SELECT @T_NUMERIC = @T_NUMERIC*2 \r
+SELECT @T_FLOAT = @T_FLOAT*2  \r
+SELECT @T_REAL = @T_REAL*2  \r
+SELECT @T_CHAR = UPPER(@T_CHAR)\r
+SELECT @T_NCHAR =UPPER(@T_NCHAR)\r
+SELECT @T_VARCHAR = UPPER(@T_VARCHAR)\r
+SELECT @T_NVARCHAR = UPPER(@T_NVARCHAR)\r
+GO\r
+SET QUOTED_IDENTIFIER OFF \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+SET QUOTED_IDENTIFIER OFF \r
+GO\r
+SET ANSI_NULLS OFF \r
+GO\r
+\r
+CREATE PROCEDURE GHSP_TYPES_SIMPLE_3\r
+@ID char,\r
+@T_BIT bit output,\r
+@T_TINYINT tinyint output,\r
+@T_SMALLINT smallint output,\r
+@T_INT int output,\r
+@T_BIGINT bigint output,\r
+@T_DECIMAL decimal(18, 0) output,\r
+@T_NUMERIC numeric(18, 0)  output,\r
+@T_FLOAT float output,\r
+@T_REAL  real output,\r
+@T_CHAR char (10) output,\r
+@T_NCHAR nchar (10) output,\r
+@T_VARCHAR varchar (50) output,\r
+@T_NVARCHAR nvarchar (50) output\r
+AS\r
+SELECT @T_BIT = T_BIT, @T_TINYINT = T_TINYINT, @T_SMALLINT = T_SMALLINT , @T_INT = T_INT, @T_BIGINT = T_BIGINT, @T_DECIMAL = T_DECIMAL ,\r
+@T_NUMERIC = T_NUMERIC , @T_FLOAT = T_FLOAT  , @T_REAL = T_REAL  , @T_CHAR = T_CHAR, @T_NCHAR = T_NCHAR, \r
+@T_VARCHAR = T_VARCHAR, @T_NVARCHAR = T_NVARCHAR FROM TYPES_SIMPLE WHERE ID = @ID\r
+GO\r
+SET QUOTED_IDENTIFIER OFF \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+SET QUOTED_IDENTIFIER OFF \r
+GO\r
+SET ANSI_NULLS OFF \r
+GO\r
+\r
+CREATE PROCEDURE GHSP_TYPES_SIMPLE_4\r
+@ID char\r
+AS\r
+/*Insert*/\r
+insert into TYPES_SIMPLE(ID,T_INT) values (@ID,50)\r
+SELECT * FROM TYPES_SIMPLE WHERE ID = @ID\r
+/*Update*/\r
+update TYPES_SIMPLE set T_INT=60 where Id = @ID\r
+SELECT * FROM TYPES_SIMPLE WHERE ID = @ID\r
+/*Delete*/\r
+delete from TYPES_SIMPLE WHERE ID = @ID\r
+SELECT * FROM TYPES_SIMPLE WHERE ID = @ID\r
+GO\r
+SET QUOTED_IDENTIFIER OFF \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+SET QUOTED_IDENTIFIER OFF \r
+GO\r
+SET ANSI_NULLS OFF \r
+GO\r
+\r
+CREATE PROCEDURE GHSP_TYPES_SIMPLE_5\r
+AS\r
+DECLARE @T_BIT bit\r
+DECLARE @T_TINYINT tinyint\r
+DECLARE @T_SMALLINT smallint\r
+DECLARE @T_INT int\r
+DECLARE @T_BIGINT bigint\r
+DECLARE @T_DECIMAL decimal(18,0)\r
+DECLARE @T_NUMERIC numeric(18,0)\r
+DECLARE @T_FLOAT float\r
+DECLARE @T_REAL real\r
+DECLARE @T_CHAR char(10)\r
+DECLARE @T_NCHAR nchar(10)\r
+DECLARE @T_VARCHAR varchar(50)\r
+DECLARE @T_NVARCHAR nvarchar(50)\r
+\r
+SELECT @T_BIT = 1\r
+SELECT @T_TINYINT = 25\r
+SELECT @T_SMALLINT = 77\r
+SELECT @T_INT = 2525\r
+SELECT @T_BIGINT = 25251414\r
+SELECT @T_DECIMAL = 10\r
+SELECT @T_NUMERIC = 123123\r
+SELECT @T_FLOAT = 17.1414257\r
+SELECT @T_REAL = 0.71425\r
+SELECT @T_CHAR = 'abcdefghij'\r
+SELECT @T_NCHAR = N'klmnopqrst'\r
+SELECT @T_VARCHAR = 'qwertasdfg'\r
+SELECT @T_NVARCHAR = N'qwertasdfg'\r
\r
+SELECT @T_BIT as 'T_BIT', @T_TINYINT as 'T_TINYINT', @T_SMALLINT as 'T_SMALLINT' , @T_INT as 'T_INT', @T_BIGINT as 'T_BIGINT', @T_DECIMAL as 'T_DECIMAL', @T_NUMERIC as 'T_NUMERIC' , @T_FLOAT as 'T_FLOAT'  , @T_REAL  as 'T_REAL'  , @T_CHAR as 'T_CHAR', @T_NCHAR as 'T_NCHAR', @T_VARCHAR as 'T_VARCHAR' , @T_NVARCHAR as 'T_NVARCHAR'\r
+\r
+GO\r
+SET QUOTED_IDENTIFIER OFF \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+\r
+if not exists (select * from master.dbo.syslogins where loginname = N'mainsoft')\r
+BEGIN\r
+       declare @logindb nvarchar(132), @loginlang nvarchar(132) select @logindb = N'GHTDB', @loginlang = N'us_english'\r
+       if @logindb is null or not exists (select * from master.dbo.sysdatabases where name = @logindb)\r
+               select @logindb = N'master'\r
+       if @loginlang is null or (not exists (select * from master.dbo.syslanguages where name = @loginlang) and @loginlang <> N'us_english')\r
+               select @loginlang = @@language\r
+       exec sp_addlogin N'mainsoft', N'Sql123', @logindb, @loginlang\r
+END\r
+GO\r
+\r
+exec sp_addsrvrolemember N'mainsoft', sysadmin\r
+GO\r
+\r
+\r
+if not exists (select * from dbo.sysusers where name = N'mainsoft' and uid < 16382)\r
+       EXEC sp_grantdbaccess N'mainsoft', N'mainsoft'\r
+GO\r
+\r
+SET QUOTED_IDENTIFIER ON \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[mainsoft].[CategoriesNew]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)\r
+drop table [mainsoft].[CategoriesNew]\r
+GO\r
+\r
+CREATE TABLE [mainsoft].[CategoriesNew] (\r
+       [CategoryID] [int] IDENTITY (1, 1) NOT NULL ,\r
+       [CategoryName] [nvarchar] (15) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,\r
+       [Description] [ntext] COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [Picture] [image] NULL \r
+) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]\r
+GO\r
+\r
+CREATE TABLE [mainsoft].[Categories] (\r
+       [CategoryID] [nvarchar] (15) NOT NULL ,\r
+       [CategoryName] [nvarchar] (15) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,\r
+       [Description] [ntext] COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [Picture] [int] NULL \r
+) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]\r
+GO\r
+\r
+CREATE  procedure [mainsoft].[GH_DUMMY]\r
+@EmployeeIdPrm  char (10)\r
+AS\r
+SELECT * FROM Employees where EmployeeID > @EmployeeIdPrm\r
+GO\r
+SET QUOTED_IDENTIFIER OFF \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r
+------------------------------------------------------------------------------------------------------------------\r
+------------------------------------------------------------------------------------------------------------------\r
+------------------------------------------------------------------------------------------------------------------\r
+------------------------------------------------------------------------------------------------------------------\r
+\r
+\r
+CREATE DATABASE [GHTDB_EX]  ON (NAME = N'GHTDB_dat_EX', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL\data\GHTDB_EX.mdf' , SIZE = 6, FILEGROWTH = 10%) LOG ON (NAME = N'GHTDB_EX_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL\data\GHTDB_EX.ldf' , SIZE = 2, FILEGROWTH = 10%)\r
+ COLLATE SQL_Latin1_General_CP1_CI_AS\r
+GO\r
+\r
+exec sp_dboption N'GHTDB_EX', N'autoclose', N'false'\r
+GO\r
+\r
+exec sp_dboption N'GHTDB_EX', N'bulkcopy', N'true'\r
+GO\r
+\r
+exec sp_dboption N'GHTDB_EX', N'trunc. log', N'true'\r
+GO\r
+\r
+exec sp_dboption N'GHTDB_EX', N'torn page detection', N'true'\r
+GO\r
+\r
+exec sp_dboption N'GHTDB_EX', N'read only', N'false'\r
+GO\r
+\r
+exec sp_dboption N'GHTDB_EX', N'dbo use', N'false'\r
+GO\r
+\r
+exec sp_dboption N'GHTDB_EX', N'single', N'false'\r
+GO\r
+\r
+exec sp_dboption N'GHTDB_EX', N'autoshrink', N'false'\r
+GO\r
+\r
+exec sp_dboption N'GHTDB_EX', N'ANSI null default', N'false'\r
+GO\r
+\r
+exec sp_dboption N'GHTDB_EX', N'recursive triggers', N'false'\r
+GO\r
+\r
+exec sp_dboption N'GHTDB_EX', N'ANSI nulls', N'false'\r
+GO\r
+\r
+exec sp_dboption N'GHTDB_EX', N'concat null yields null', N'false'\r
+GO\r
+\r
+exec sp_dboption N'GHTDB_EX', N'cursor close on commit', N'false'\r
+GO\r
+\r
+exec sp_dboption N'GHTDB_EX', N'default to local cursor', N'false'\r
+GO\r
+\r
+exec sp_dboption N'GHTDB_EX', N'quoted identifier', N'false'\r
+GO\r
+\r
+exec sp_dboption N'GHTDB_EX', N'ANSI warnings', N'false'\r
+GO\r
+\r
+exec sp_dboption N'GHTDB_EX', N'auto create statistics', N'true'\r
+GO\r
+\r
+exec sp_dboption N'GHTDB_EX', N'auto update statistics', N'true'\r
+GO\r
+\r
+if( ( (@@microsoftversion / power(2, 24) = 8) and (@@microsoftversion & 0xffff >= 724) ) or ( (@@microsoftversion / power(2, 24) = 7) and (@@microsoftversion & 0xffff >= 1082) ) )\r
+       exec sp_dboption N'GHTDB_EX', N'db chaining', N'false'\r
+GO\r
+\r
+use [GHTDB_EX]\r
+GO\r
+\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GH_DUMMY]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)\r
+drop procedure [dbo].[GH_DUMMY]\r
+GO\r
+\r
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Customers]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)\r
+drop table [dbo].[Customers]\r
+GO\r
+\r
+CREATE TABLE [dbo].[Customers] (\r
+       [CustomerID] [char] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,\r
+       [CompanyName] [nvarchar] (40) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [ContactName] [nvarchar] (30) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [ContactTitle] [nvarchar] (30) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [Address] [nvarchar] (60) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [City] [nvarchar] (15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [Region] [nvarchar] (15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [PostalCode] [nvarchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [Country] [nvarchar] (15) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [Phone] [nvarchar] (24) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,\r
+       [Fax] [nvarchar] (24) COLLATE SQL_Latin1_General_CP1_CI_AS NULL \r
+) ON [PRIMARY]\r
+GO\r
+\r
+SET QUOTED_IDENTIFIER OFF \r
+GO\r
+SET ANSI_NULLS OFF \r
+GO\r
+\r
+print '------------------------------'\r
+print 'create another GH_DUMMY which select from a different table'\r
+print 'customers instead of employees'\r
+print '------------------------------'\r
+go\r
+\r
+CREATE  procedure GH_DUMMY\r
+@CustomerIdPrm  char (10)\r
+AS\r
+SELECT * FROM Customers where CustomerID = @CustomerIdPrm\r
+GO\r
+SET QUOTED_IDENTIFIER OFF \r
+GO\r
+SET ANSI_NULLS ON \r
+GO\r
+\r