UFN_MKTSEGMENTATION_GETUNIQUENAME_2
Return
Return Type |
---|
nvarchar(100) |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@NAME | nvarchar(100) | IN | |
@FORMAT | nvarchar(50) | IN |
Definition
Copy
create function dbo.[UFN_MKTSEGMENTATION_GETUNIQUENAME_2]
(
@NAME nvarchar(100), -- marketing effort name
@FORMAT nvarchar(50) -- format for specifying the copy format, default format is 'Copy{0} of {name}'
)
/*
returns a unique name for a mailing by adding a counter.
*/
returns nvarchar(100)
as
begin
/* format is like 'Copy{0} of {1}', where {0} represents the counter and {1} represents the name */
declare @NEWNAME nvarchar(100);
declare @COPYCOUNT int;
set @COPYCOUNT = 0;
set @NEWNAME = replace(@FORMAT, '{0}', ''); -- default 'Copy of {name}'
set @NEWNAME = replace(@NEWNAME, '{1}', @NAME); -- insert name
while (select count(1) from dbo.[MKTSEGMENTATION] where [NAME] = @NEWNAME) > 0
begin
set @COPYCOUNT = @COPYCOUNT + 1;
set @NEWNAME = replace(@FORMAT, '{0}', ' (' + cast(@COPYCOUNT as nvarchar(10)) + ')' ); -- insert number'
set @NEWNAME = replace(@NEWNAME, '{1}', @NAME); -- insert name
end
return @NEWNAME;
end;