写的是存储过程,里边肯定有很多不足的地方,希望大家指正
先贴代码:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER proc [dbo].[SjString](@len int,@out varchar(100) output)
as
if object_id('tempdb..#Mytable') is not null
begin
drop table #Mytable
end
create table #MyTable
( [ASCII] int)
-----插入组成字符串所需的基本ASCII码(数字+下划线+字母)
declare @number int
set @number=48
while @number<123 ----z的ASCII是122
begin
if (@number between 48 and 57)or(@number between 65 and 90)or(@number=95)or(@number between 97 and 122)
insert into #MyTable([ASCII]) values(@number)
set @number=@number+1
end
create table #My(String char(2)) --用于临时存放字符信息
while @len>0
begin
declare @ASCII int
select top 1 @ASCII=[ASCII] from #MyTable order by newid()
insert into #My select char(@ASCII)
set @len=@len-1
end
declare @s