IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sp_TestSetupsDeleteAll]') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].[sp_TestSetupsDeleteAll] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sp_TestSetupsDeleteAll]') AND type in (N'P', N'PC')) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [dbo].[sp_TestSetupsDeleteAll] AS' END GO ALTER PROCEDURE [dbo].[sp_TestSetupsDeleteAll] @ErrorMessage nvarchar(250) output ,@ErrorSeverity int output ,@ErrorState int output AS BEGIN BEGIN TRY begin transaction [tDeleteAllTestSetups] delete from [dbo].[TestSetupDASSettings] delete from [dbo].[TestSetupObjectMetaData] delete from [dbo].[TestChannelSettings] delete from [dbo].[TestSetupHardware] delete from [dbo].[TestObjectHardware] delete from [dbo].[LevelTriggers] delete from [dbo].[TestSetupObjects] delete from [dbo].[CalculatedChannels] delete from [dbo].[TestGraphs] delete from [dbo].[TemplateChannels] delete from [dbo].[TemplateRegions] delete from [dbo].[TemplateZones] delete from [dbo].[TestObjectSensors] delete from [dbo].[TestObjectChannelSettings] delete from [dbo].[TestObjectSensors] delete from [dbo].[TemplateChannels] delete from [dbo].[TestObjects] delete from [dbo].[TestObjectTemplates] delete from [dbo].[TestObjects] delete from [dbo].[TestSetups] commit transaction [tDeleteAllTestSetups] END TRY BEGIN CATCH set @ErrorMessage = ERROR_MESSAGE() set @ErrorSeverity = ERROR_SEVERITY() set @ErrorState = ERROR_STATE(); rollback transaction [tDeleteAllTestSetups] END CATCH; END GO