IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sp_TemplateRegionsGet]') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].[sp_TemplateRegionsGet] 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_TemplateRegionsGet]') AND type in (N'P', N'PC')) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [dbo].[sp_TemplateRegionsGet] AS' END GO ALTER PROCEDURE [dbo].[sp_TemplateRegionsGet] @TemplateName nvarchar(255) = null , @ZoneName nvarchar(50) = null AS BEGIN SET NOCOUNT ON; declare @TemplateId int set @TemplateId = dbo.foo_IdGetTemplate(@TemplateName) SELECT @TemplateName as TemplateName ,[RegionNumber] ,[RegionName] ,[RegionDescription] ,[TestObject] ,[Position] ,[MainLocation] ,[FineLocation1] ,[FineLocation2] ,[FineLocation3] ,[PhysicalDimension] ,[Direction] ,[FilterClass] ,[LocalOnly] ,[UpperLeftX] ,[UpperLeftY] ,[LowerRightX] ,[LowerRightY] ,[ZoneName] FROM [dbo].[TemplateRegions] where @TemplateName is null or (TemplateId = @TemplateId and ZoneName = @ZoneName) END GO