IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[foo_DBExportSensorsDigitalInput]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT')) DROP FUNCTION [dbo].[foo_DBExportSensorsDigitalInput] 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_DBExportSensorsDigitalInput]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT')) BEGIN execute dbo.sp_executesql @statement = N'CREATE FUNCTION [dbo].[foo_DBExportSensorsDigitalInput] ( ) RETURNS xml AS BEGIN RETURN (select [SensorId] ,[SensorType] ,[SettingName] ,[SettingMode] ,[ScaleMultiplier] ,[eId] ,[LastModified] ,[LastModifiedBy] ,[UserValue1] ,[UserValue2] ,[UserValue3] ,[UserTags] from (SELECT s.[Id] as [SensorId] ,s.[SensorType] ,sd.[SerialNumber] as [SettingName] ,sd.[SettingMode] ,sd.[ScaleMultiplier] ,sd.[eId] ,sd.[LastModified] ,sd.[LastModifiedBy] ,sd.[UserValue1] ,sd.[UserValue2] ,sd.[UserValue3] ,sd.[UserTags] FROM [dbo].[SensorsDigitalIn] sd inner join [dbo].[Sensors] s on s.SensorId = sd.Id and s.SensorType = 1) SensorData for xml auto, BINARY BASE64) END ' END GO