IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[foo_DBExportTestSetupHardware]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT')) DROP FUNCTION [dbo].[foo_DBExportTestSetupHardware] 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_DBExportTestSetupHardware]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT')) BEGIN execute dbo.sp_executesql @statement = N'CREATE FUNCTION [dbo].[foo_DBExportTestSetupHardware] ( @TestSetupId int ) RETURNS xml AS BEGIN RETURN isnull((SELECT [HID] ,[Action] ,[DASId] from (SELECT d.SerialNumber as [HID] ,[AddOrRemove] as [Action] ,d.DASId as [DASId] FROM [dbo].[TestSetupHardware] tsh inner join [dbo].[DAS] d on d.DASId = tsh.DASId inner join [dbo].[TestSetups] ts on ts.TestSetupId = tsh.TestSetupId where ts.[TestSetupId] = @TestSetupId) HardwareOverride for xml auto, elements, BINARY BASE64, root (''HardwareOverrides'')), '''') END ' END GO