use master;
go
create view v_random as select newid() as MacoId;
go
CREATE TABLE privs_test
(
Ownername varchar (300) COLLATE Chinese_PRC_CI_AS NULL,
tablename varchar (300) COLLATE Chinese_PRC_CI_AS NULL,
usernm varchar (300) COLLATE Chinese_PRC_CI_AS NULL,
grantor varchar (300) COLLATE Chinese_PRC_CI_AS NULL,
typename varchar (300) COLLATE Chinese_PRC_CI_AS NULL,
actionname varchar (300) COLLATE Chinese_PRC_CI_AS NULL,
clu varchar (300) COLLATE Chinese_PRC_CI_AS NULL
);
GO
create function [dbo].[m_rand](@mycount int)
returns nvarchar(2000)
as
begin
declare @maco_wang table (id varchar(1))
declare @maco_number int,@number int;
declare @my_one nvarchar(max),@my_two nvarchar(max)
set @my_one='';set @maco_number=0; set @number =48;
while (@number>=48 and @number<=57) or (@number>=65 and @number<=90) or (@number>=97 and @number<=122)
begin
insert into @maco_wang select char(@number)
set @number=@number+1;
if(@number=58)
begin
set @number=65
end
if(@number=91)
begin
set @number=97
end
end
while @maco_number<@mycount
begin
select @my_two=id from @maco_wang
order by (select MacoId from dbo.v_random);
set @my_one=@my_two+@my_one;
set @maco_number=@maco_number+1;
end
return @my_one
end;