IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[foo_DBExportSensorCalibration]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT')) DROP FUNCTION [dbo].[foo_DBExportSensorCalibration] 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_DBExportSensorCalibration]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT')) BEGIN execute dbo.sp_executesql @statement = N'CREATE FUNCTION [dbo].[foo_DBExportSensorCalibration] ( ) RETURNS xml AS BEGIN RETURN isnull(( select [SensorId] ,[SerialNumber] ,[CalibrationDate] ,[Username] ,[LocalOnly] ,[NonLinear] ,[CalibrationRecords] ,[ModifyDate] ,[IsProportional] ,[RemoveOffset] ,[ZeroMethod] ,[CertificationDocuments] ,[InitialOffset] from( SELECT s.[SensorId] , s.[SerialNumber] ,sc.[CalibrationDate] ,sc.[Username] ,sc.[LocalOnly] ,sc.[NonLinear] ,sc.[CalibrationRecords] ,sc.[ModifyDate] ,sc.[IsProportional] ,sc.[RemoveOffset] ,sc.[ZeroMethod] ,sc.[CertificationDocuments] ,sc.[InitialOffset] FROM [dbo].[v_SensorSerialNumber] s inner join [dbo].[SensorCalibrations] sc on s.SensorId = sc.SensorId ) SensorCalibration order by [SensorId] for xml auto, BINARY BASE64, root (''SensorCalibrations'')), '''') END ' END GO