创建存储过程的时候,如何判断记录集是否为空

当我们创建存储过程的时候,可以指定返回值这个大家是知道的。但是我想实现一下功能。存储过程接收一个参数(管理员ID)存储过程的功能是:如果该ID在数据表中存在,则返回管理员... 当我们创建存储过程的时候,可以指定返回值这个大家是知道的。但是我想实现一下功能。

存储过程接收一个参数(管理员ID)
存储过程的功能是:
如果该ID在数据表中存在,则返回管理员的详细信息,如果不存在,则返回一个字符串“该管理员ID在数据库中不存在!”

我是这样编的:

CREATE PROCEDURE [Pro_List_Admin_With_ID]
@adminid int,
@adminflag int output
AS
BEGIN
SELECT UserName,Password,Flag,Lastlogin,LastIP,Logincount,Locked
FROM admin
WHERE AdminID = @adminid
If ------------------关键就是这里
RETURN "该管理员ID在数据库中不存在!"
end if
END

我刚接触存储过程,希望那位会的兄弟帮帮我。
我VB用惯了。所以习惯性的就写了个End If

现在的问题就是
我想让这个存储过程实现以下功能:
传入一个id参数,
如果存在该管理员,就返回记录集,
如果不存在,就返回一个0(存储过程不能返回字符串,只能返回Int的参数),
请问怎么实现?
展开
 我来答
百度网友5059b1f71
2007-01-19 · TA获得超过312个赞
知道小有建树答主
回答量:616
采纳率:0%
帮助的人:423万
展开全部
If not exists(SELECT UserName,Password,Flag,Lastlogin,LastIP,Logincount,Locked
FROM admin
WHERE AdminID = @adminid )
RETURN "该管理员ID在数据库中不存在!"
--end if
END
记得好像没有end if 不知道搂住用的什么数据库

-------
我给你一个传参的例子吧
不过,返回整条的纪录你需要有足够多的参数(就是你想要的结果的参数)
create procedure proc_test
@p1 int = 0,
@p2 int output
as
select @p2 = @p2 + @p1
go

declare @p2_output int
set @p2_output=6
execute proc_test 1, @p2_output output
select @p2_output
go

不明白的地方搂住可以留信息
壹寰(深圳)科技文化有限公司
2021-03-27 广告
要找正规专业的公司,行业口碑也比较重要。如果想了解更多详细信息,可以咨询下壹寰(深圳)科技文化有限公司。91数据恢复是壹寰(深圳)科技文化有限公司旗下专业数据恢复品牌,91数据恢复专注于勒索病毒数据恢复、勒索病毒数据修复、数据库修复、数据库... 点击进入详情页
本回答由壹寰(深圳)科技文化有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式