问个存储过程问题,生成随机字符的

cfesc9 2010-06-21 02:35:09
存储过程生成N个随机字符,这个存储过程已经写好了,叫sp_GetCode,在调用时需要指定一个生成字符长度的int 参数,它返回的就是一串字符,
现在的问题是怎么在另一个存储过程中调用它的返回值呀?
并将它赋值给
@Code
小弟没怎么用过存储过程,望各们高人给予援助!感激万分呀!
...全文
123 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
永生天地 2010-06-21
  • 打赏
  • 举报
回复
if object_id('sp_GetCode') is not null drop proc sp_GetCode
go
create proc sp_GetCode @codeLen int,@Code varchar(8000) output
as
begin
declare @i int
set @i=1
set @Code=''
while @i<=@codeLen
begin
set @Code=@Code+char(65+rand()*26)
set @i=@i+1
end
end

declare @code varchar(200)
declare @in int
set @in=200
exec sp_GetCode @in,@code output
print @code
/*
DERSNTCSYRMFNNWNWWEKYYXYYTQNFKEBGRUQTTPGQREWSRGWNUILNNBXSFCA
KJQCMLQASLXVLCSFUGNNBSLVXXWYFVUMYXDEVCWKJFMCWLEACUHHXCJWMEAS
IMYJSZYDCBZAUMUILZFZHTKXAVCUKPOLYYNFUXVTZHOCCYYOXCEDEIMZFSSS
BFCKXHOTMPKMPCYFQBDD
*/
cfesc9 2010-06-21
  • 打赏
  • 举报
回复
感谢谢楼上各位的帮助,确实用output 实现了,#11楼完整正解,在此特别致谢!
xyj052 2010-06-21
  • 打赏
  • 举报
回复
用OUTPUT参数就可以达到目的
obuntu 2010-06-21
  • 打赏
  • 举报
回复


out 应该就可以吧。

cfesc9 2010-06-21
  • 打赏
  • 举报
回复
我想知道怎么调用,并将返回来的那个字符串插入到某个表里,就像生成流水号似的
chuifengde 2010-06-21
  • 打赏
  • 举报
回复
--生成随机字符过程
create proc sp_GetCode
@LenT int,
@Result varchar(100) out
as
生成随机字符算法。。。
set @Result=结果


--另一调用过程
create proc sp_Call
as
declare @Code varchar(100)
exec sp_GetCode 10,@Code out
select @Code as 'Code'
cfesc9 2010-06-21
  • 打赏
  • 举报
回复
只能新建一个表吗?没有别的办法吗?
如果用output方式输出呢?
SQL77 2010-06-21
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 cfesc9 的回复:]
或者用别的输出方式,怎么调用呀?
这种问题或许对高手来说有点儿白菜呀?
但是,我是办法找了很久,均未果呀!还望高手帮助!
[/Quote]
改OUTPUT参数吧
Mr_Nice 2010-06-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 cfesc9 的回复:]

不是output
是select @RandId as 'code'
[/Quote]

第一个存储过程必须用一个output返回字符串,外边才可以得到阿。
或者建立一个表,来存这个字符串。
东那个升 2010-06-21
  • 打赏
  • 举报
回复
declare @var varchar(30)

exec @var=sp_GetCode 5

select @var


???
cfesc9 2010-06-21
  • 打赏
  • 举报
回复
或者用别的输出方式,怎么调用呀?
这种问题或许对高手来说有点儿白菜呀?
但是,我是办法找了很久,均未果呀!还望高手帮助!
rucypli 2010-06-21
  • 打赏
  • 举报
回复
create table temp(a int)
insert into temp exec test11
SQL77 2010-06-21
  • 打赏
  • 举报
回复
/....
cfesc9 2010-06-21
  • 打赏
  • 举报
回复
这种有救吗?
cfesc9 2010-06-21
  • 打赏
  • 举报
回复
不是output
是select @RandId as 'code'
cailee 2010-06-21
  • 打赏
  • 举报
回复
你是怎么返回的?output?

22,302

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧