IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sp_TestObjectIdsGet]') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].[sp_TestObjectIdsGet] 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_TestObjectIdsGet]') AND type in (N'P', N'PC')) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [dbo].[sp_TestObjectIdsGet] AS' END GO ALTER PROCEDURE [dbo].[sp_TestObjectIdsGet] @TestSetupName nvarchar(50) = null AS BEGIN select tobj.TestObjectId, tobj.TestObjectName from TestObjects as tobj inner join TestSetupObjects as tso on tobj.TestObjectId = tso.TestObjectId where tso.TestSetupId = dbo.foo_IdGetTestSetup(@TestSetupName) END GO