IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[foo_DBExportGetUserUIVisibility]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT')) DROP FUNCTION [dbo].[foo_DBExportGetUserUIVisibility] 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_DBExportGetUserUIVisibility]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT')) BEGIN execute dbo.sp_executesql @statement = N' CREATE FUNCTION [dbo].[foo_DBExportGetUserUIVisibility] ( @UserId int ) RETURNS varchar(max) AS BEGIN declare @results varchar(max) select @results = coalesce(@results + '','', '''') + ui.NAME + ''='' + convert(varchar(1), [Visible]) from [dbo].[UIItemSettings] us inner join [dbo].[UIItems] ui on ui.ID = us.UIItemID where UserID = @UserId order by ui.NAME return @results END ' END GO