IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[foo_DBExportTestSetupGraphs]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT')) DROP FUNCTION [dbo].[foo_DBExportTestSetupGraphs] 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].[foo_DBExportTestSetupGraphs]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT')) BEGIN execute dbo.sp_executesql @statement = N'CREATE FUNCTION [dbo].[foo_DBExportTestSetupGraphs] ( @TestSetupId int ) RETURNS xml AS BEGIN RETURN isnull(( SELECT [GraphName] ,[GraphDescription] ,ts.TestSetupName as ''TemplateName'' ,[Channels] ,[UseDomainMin] ,[DomainMin] ,[UseDomainMax] ,[DomainMax] ,[UseRangeMin] ,[RangeMin] ,[UseRangeMax] ,[RangeMax] ,[Thresholds] ,Graph.[LocalOnly] FROM [dbo].[TestGraphs] Graph inner join [dbo].[TestSetups] ts on ts.TestSetupId = Graph.TestSetupId where Graph.[TestSetupId] = @TestSetupId for xml auto, elements, BINARY BASE64, root (''Graphs'')), '''') END ' END GO