UFN_SMARTQUERYINSTANCE_GETUNIQUENAME

Return

Return Type
nvarchar(100)

Parameters

Parameter Parameter Type Mode Description
@NAME nvarchar(100) IN
@PREFIX nvarchar(100) IN
@LPAREN nvarchar(1) IN
@RPAREN nvarchar(1) IN

Definition

Copy


create function dbo.[UFN_SMARTQUERYINSTANCE_GETUNIQUENAME]
(
  @NAME nvarchar(100),
  @PREFIX nvarchar(100),
  @LPAREN nvarchar(1) = '(',
  @RPAREN nvarchar(1) = ')'
)
returns nvarchar(100)
as
begin
  declare @UNIQUENAME nvarchar(100);
  declare @COUNT int;

  set @COUNT = 1;
  set @UNIQUENAME = left(replace(replace(@PREFIX, '{0}', ''), '{1}', @NAME), 100);

  while exists(select top 1 1 from dbo.[SMARTQUERYINSTANCE] where [NAME] = @UNIQUENAME)
    begin
      set @COUNT = @COUNT + 1;
      set @UNIQUENAME = left(replace(replace(@PREFIX, '{0}', @LPAREN + convert(nvarchar(10), @COUNT) + @RPAREN + ' '), '{1}', @NAME), 100);
    end

  return @UNIQUENAME;
end