IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[foo_SensorsDigitalIn]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT')) DROP FUNCTION [dbo].[foo_SensorsDigitalIn] 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_SensorsDigitalIn]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT')) BEGIN execute dbo.sp_executesql @statement = N'CREATE FUNCTION [dbo].[foo_SensorsDigitalIn] ( ) RETURNS xml AS BEGIN RETURN isnull((SELECT [Id] ,[SerialNumber] ,[SettingMode] ,[ScaleMultiplier] ,[LastModified] ,[LastModifiedBy] ,[eId] ,[UserValue1] ,[UserValue2] ,[UserValue3] ,[UserTags] FROM [dbo].[SensorsDigitalIn] Sensor for xml auto, BINARY BASE64) , '''') END ' END GO