IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sp_TestObjectChannelSettingsGet]') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].[sp_TestObjectChannelSettingsGet] 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_TestObjectChannelSettingsGet]') AND type in (N'P', N'PC')) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [dbo].[sp_TestObjectChannelSettingsGet] AS' END GO ALTER PROCEDURE [dbo].[sp_TestObjectChannelSettingsGet] @TestObjectName nvarchar(255) = null ,@ChannelId nvarchar(255) = null ,@Setting nvarchar(255) = null ,@SensorSerialNumber nvarchar(255) = null AS BEGIN declare @TestObjectId int set @TestObjectId = dbo.foo_IdGetTestObject(@TestObjectName) SELECT tob.[TestObjectName] ,toc.[ChannelId] ,toc.[Setting] ,s.[SerialNumber] ,toc.[Disabled] FROM [dbo].[TestObjectChannelSettings] toc inner join [dbo].[TestObjects] tob on tob.TestObjectId = toc.TestObjectId inner join [dbo].[v_SensorSerialNumber] s on toc.SensorId = s.SensorId WHERE @TestObjectName is null or toc.[TestObjectId] = @TestObjectId END GO