sql server存储过程的嵌套问题

下面是存储过程的嵌套,如何把里面的存储过程执行时输出的值保存下来,之后把这个值插入到一个表中,希望各位大神帮帮忙嘿嘿!USE[信息系统]GO/******Object:S... 下面是存储过程的嵌套,如何把里面的存储过程执行时输出的值保存下来,之后把这个值插入到一个表中,希望各位大神帮帮忙 嘿嘿!
USE [信息系统]
GO
/****** Object: StoredProcedure [dbo].[newuser_create1] Script Date: 2014/5/9 18:30:18 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROC [dbo].[newuser_create1]
@username VARCHAR(20),--用户名
@pwdLEN INT --密码长度
AS
BEGIN
DECLARE @returnNameRows INT
DECLARE @createtime DATETIME
SET @createtime=CONVERT(VARCHAR(20),GETDATE(),120)
SET @returnNameRows=(SELECT COUNT(*) FROM dbo.新用户建立 WHERE username=@username)
--判断新加的用户是否存在
IF @returnNameRows<=0
BEGIN
--我们采用密码随机生成的方式,不用我们去自己手动输入密码,这里就用到存储过程的嵌套
--而产生随机密码(字符串)的存储过程的名字是:DIY_randomSTR,接下来我们就调用这个过程来产生随机密码
DECLARE @pwd VARCHAR(20)
DECLARE @myPwd VARCHAR(20) --将产生的随机密码用这个参数存储
EXEC @pwd=dbo.DIY_randomSTR @randomstr_count = @pwdLEN -- int
SET @myPwd=@pwd
INSERT INTO dbo.新用户建立
( username ,
userpassword ,
createtime
)
VALUES ( @username , -- username - varchar(20)
@myPwd , -- userpassword - varchar(20)
@createtime -- createtime - datetime
)
PRINT '新用户创建成功,用户名:'+@username+' !'
SELECT * FROM dbo.新用户建立 WHERE username=@username
RETURN
END
ELSE
BEGIN
PRINT '用户名:'+@username+' 已经存在!!!'
RETURN
END
END
展开
 我来答
Ailiex
2014-05-09 · TA获得超过996个赞
知道小有建树答主
回答量:1108
采纳率:37%
帮助的人:587万
展开全部
在两个print前面再加一条insert语句啊,把相关信息先写到表里,再打印信息,类似于
先建表
CREATE TABLE ERRORINFOR (username varchar(20),errorinfo varchar(50))
再加一条语句。

insert into errorinfor values(@username,'已经存在')
PRINT '用户名:'+@username+' 已经存在!!!'
追问
你的意思是先建立一个表,把这个随机数存储到表里,再从表里取去插入到新表里就行了是吧???
追答
差不多这个意思吧。存储过程里面,你用ISNERT语句把你想要的数据写到表里。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式