IF EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES t WHERE t.TABLE_SCHEMA = 'dbo' AND t.TABLE_NAME = 'OrderLines') DROP TABLE dbo.[OrderLines] IF EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES t WHERE t.TABLE_SCHEMA = 'dbo' AND t.TABLE_NAME = 'Orders') DROP TABLE dbo.[Orders] IF EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES t WHERE t.TABLE_SCHEMA = 'dbo' AND t.TABLE_NAME = 'People') DROP TABLE dbo.[People] IF EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES t WHERE t.TABLE_SCHEMA = 'dbo' AND t.TABLE_NAME = 'SpecificOrderLines') DROP TABLE dbo.[SpecificOrderLines] IF EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES t WHERE t.TABLE_SCHEMA = 'dbo' AND t.TABLE_NAME = 'SpecificOrders') DROP TABLE dbo.[SpecificOrders] IF EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES t WHERE t.TABLE_SCHEMA = 'dbo' AND t.TABLE_NAME = 'SpecificPeople') DROP TABLE dbo.[SpecificPeople] IF EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES t WHERE t.TABLE_SCHEMA = 'dbo' AND t.TABLE_NAME = 'TransactionLogs') DROP TABLE dbo.[TransactionLogs] IF EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES t WHERE t.TABLE_SCHEMA = 'dbo' AND t.TABLE_NAME = 'Note') DROP TABLE dbo.[Note] CREATE TABLE dbo.[People] ( [Id] UNIQUEIDENTIFIER NOT NULL PRIMARY KEY, [FullName] NVARCHAR(255), [Age] BIGINT NOT NULL, [Height] INT NOT NULL, [Dob] DATETIME2 NULL ) CREATE TABLE dbo.[Orders] ( [Id] INT IDENTITY(1,1) PRIMARY KEY, [PersonId] UNIQUEIDENTIFIER FOREIGN KEY REFERENCES dbo.[People](Id), [PoNumber] NVARCHAR(15) NOT NULL, [OrderStatus] INT NOT NULL, [CreatedOn] DATETIME2 NOT NULL, [CreatedBy] NVARCHAR(255) NOT NULL ) CREATE TABLE dbo.[OrderLines] ( [Id] INT IDENTITY(1,1) PRIMARY KEY, [OrderId] INT NOT NULL FOREIGN KEY REFERENCES dbo.[Orders](Id), [Qty] SMALLINT NOT NULL, [Status] TINYINT NOT NULL, [SellPrice] NUMERIC(10, 4) NOT NULL ) CREATE TABLE dbo.[SpecificPeople] ( [Id] UNIQUEIDENTIFIER NOT NULL PRIMARY KEY, [FullName] NVARCHAR(255), [Age] BIGINT NOT NULL, [Height] INT NOT NULL, [Dob] DATETIME2 NULL ) CREATE TABLE dbo.[SpecificOrders] ( [Id] INT IDENTITY(1,1) PRIMARY KEY, [PersonId] UNIQUEIDENTIFIER FOREIGN KEY REFERENCES dbo.[SpecificPeople](Id), [PoNumber] NVARCHAR(15) NOT NULL, [OrderStatus] INT NOT NULL, [CreatedOn] DATETIME2 NOT NULL, [CreatedBy] NVARCHAR(255) NOT NULL ) CREATE TABLE dbo.[SpecificOrderLines] ( [Id] INT IDENTITY(1,1) PRIMARY KEY, [OrderId] INT NOT NULL FOREIGN KEY REFERENCES dbo.[SpecificOrders](Id), [Qty] SMALLINT NOT NULL, [Status] TINYINT NOT NULL, [SellPrice] NUMERIC(10, 4) NOT NULL ) CREATE TABLE dbo.[TransactionLogs] ( [Description] NTEXT, [CreatedOn] DATETIME2 NOT NULL ) CREATE TABLE dbo.[Note] ( [Id] INT IDENTITY(1,1) PRIMARY KEY, [Text] NTEXT NOT NULL, [CreatedOn] DATETIME2 NOT NULL ) IF NOT EXISTS (SELECT * FROM sys.schemas WHERE name = 'store') BEGIN EXEC('CREATE SCHEMA store') END IF EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES t WHERE t.TABLE_SCHEMA = 'store' AND t.TABLE_NAME = 'People') DROP TABLE [store].[People] CREATE TABLE [store].[People] ( [Id] UNIQUEIDENTIFIER NOT NULL PRIMARY KEY, [FullName] NVARCHAR(255), [Age] BIGINT NOT NULL ) -- Investigation Tables IF EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES t WHERE t.TABLE_SCHEMA = 'dbo' AND t.TABLE_NAME = 'BugInvestigation_10R9LZYK') DROP TABLE dbo.[BugInvestigation_10R9LZYK] CREATE TABLE dbo.[BugInvestigation_10R9LZYK] ( [Id] INT IDENTITY(1,1) PRIMARY KEY, [TestColumn1] VARBINARY(32) ) IF EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES t WHERE t.TABLE_SCHEMA = 'dbo' AND t.TABLE_NAME = 'BugInvestigation_64O6LT8U') DROP TABLE dbo.[BugInvestigation_64O6LT8U] CREATE TABLE dbo.[BugInvestigation_64O6LT8U] ( [ColumnA] VARCHAR(20), [Column2] VARCHAR(20), ) IF EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES t WHERE t.TABLE_SCHEMA = 'dbo' AND t.TABLE_NAME = 'BugInvestigation_5TN5C4U4') DROP TABLE dbo.[BugInvestigation_5TN5C4U4] CREATE TABLE dbo.[BugInvestigation_5TN5C4U4] ( [ColumnA] VARCHAR(20), [Column2] VARCHAR(20), ) GO -- Stored procedures IF EXISTS (SELECT * FROM sys.objects o WHERE o.type = 'P' AND o.NAME = 'SelectPeople') DROP PROCEDURE SelectPeople IF EXISTS (SELECT * FROM sys.objects o WHERE o.type = 'P' AND o.NAME = 'SelectPeopleWithParam') DROP PROCEDURE SelectPeopleWithParam IF EXISTS (SELECT * FROM sys.objects o WHERE o.type = 'P' AND o.NAME = 'CountPeople') DROP PROCEDURE CountPeople IF EXISTS (SELECT * FROM sys.objects o WHERE o.type = 'P' AND o.NAME = 'CountPeopleWithParam') DROP PROCEDURE CountPeopleWithParam IF EXISTS (SELECT * FROM sys.objects o WHERE o.type = 'P' AND o.NAME = 'UpdatePeople') DROP PROCEDURE UpdatePeople IF EXISTS (SELECT * FROM sys.objects o WHERE o.type = 'P' AND o.NAME = 'UpdatePeopleWithParam') DROP PROCEDURE UpdatePeopleWithParam GO CREATE PROCEDURE dbo.SelectPeople AS BEGIN SET NOCOUNT ON; SELECT * FROM [People] END GO CREATE PROCEDURE dbo.SelectPeopleWithParam @@age int = 0 AS BEGIN SET NOCOUNT ON; SELECT * FROM [People] WHERE Age > @@age END GO CREATE PROCEDURE dbo.CountPeople AS BEGIN SET NOCOUNT ON; SELECT COUNT(*) FROM [People] END GO CREATE PROCEDURE dbo.CountPeopleWithParam @@age int = 0 AS BEGIN SET NOCOUNT ON; SELECT COUNT(*) FROM [People] WHERE Age > @@age END GO CREATE PROCEDURE dbo.UpdatePeople AS BEGIN SET NOCOUNT ON; UPDATE [People] SET [FullName] = 'Updated' END GO CREATE PROCEDURE dbo.UpdatePeopleWithParam @@age int = 0 AS BEGIN SET NOCOUNT ON; UPDATE [People] SET [FullName] = 'Updated' WHERE Age > @@age END GO