ALTER PROCEDURE [dbo].[sp_TestSetupsAndGroupsDeleteAll] @ErrorMessage nvarchar(250) output ,@ErrorSeverity int output ,@ErrorState int output AS BEGIN SET @ErrorState = 0 SET @ErrorMessage = SPACE(0) SET @ErrorSeverity = 0 BEGIN TRY BEGIN TRANSACTION [tDeleteTestSetups] DELETE FROM [dbo].[TestSetupObjectMetaData] DELETE FROM [dbo].[TestSetupHardware] DELETE FROM [dbo].[LevelTriggers] DELETE FROM [dbo].[CalculatedChannels] DELETE FROM [dbo].[TestGraphs] --We must delete from ROIPeriodChannels before deleting from TestSetupROIs DELETE FROM [dbo].[ROIPeriodChannels] DELETE FROM [dbo].[TestSetupROIs] /*Delete group channel settings*/ DELETE FROM [dbo].[GroupChannelSettings] /*Delete group hardware*/ DELETE FROM [dbo].[GroupHardware] /*Delete group channels*/ DELETE FROM [dbo].[Channels] /*unassociate the group from the test setup*/ DELETE FROM [dbo].[TestSetupGroups] /*delete the groups*/ DELETE FROM [dbo].[Groups] DELETE FROM [dbo].[TestSetups] COMMIT TRANSACTION [tDeleteTestSetups] END TRY BEGIN CATCH set @ErrorMessage = ERROR_MESSAGE() set @ErrorSeverity = ERROR_SEVERITY() set @ErrorState = ERROR_STATE(); rollback transaction [tDeleteTestSetups] END CATCH; END