create procedure sys.sp_MSuniqueobjectname
@name_in sysname,
@name_out sysname = NULL output
AS
declare @name_out_local sysname
declare @subschars sysname
declare @curchar nchar(1)
declare @substidx int
declare @pos int
select @subschars = 'abcdefghijklmnopqrstuvwxyz'
select @name_out_local = @name_in
select @substidx = 0
select @pos = 1
while exists (select * from sys.objects where name = @name_out_local)
begin
if @substidx > 25
begin
select @pos = @pos + 1
select @substidx = 1
end
else
select @substidx = @substidx + 1
select @curchar = substring(@subschars, @substidx, 1)
select @name_out_local = stuff(@name_out_local, @pos, 1, @curchar)
end
if @name_out IS NULL
select @name_out_local
else
select @name_out = @name_out_local
return (0)