[英]How to return a statements in stored procedure
这是我的程序:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[uspChangeMemberRole]
@TeamID INT,
@MemberID INT,
@MemberRole TINYINT
AS
BEGIN
SET NOCOUNT ON;
UPDATE [dbo].[TeamMember]
SET MemberRole = @MemberRole
WHERE TeamID = @TeamID
AND MemberID = @MemberID;
RETURN @MemberRole;
END
当我执行此过程时,我想返回“ MemberRole成功更改”。
请给我一个解决方案如何退货
使用行数检查是否有受影响的行(确定更新是否成功),然后选择一个字符串。
RowCount-返回受最后一条语句影响的行数。
IF @@ROWCOUNT > 0
BEGIN
SELECT 'Member Role Successfully Chnaged';
END
而且我认为该语句不是必需的,因为这是一个输入参数,您可以在proc之外使用。
return @MemberRole;
将返回值更改为select,然后将输出参数的数据类型替换为varchar。
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[uspChangeMemberRole]
@TeamID INT,
@MemberID INT,
@MemberRole VARCHAR(100) OUTPUT
AS BEGIN
SET NOCOUNT ON;
UPDATE [dbo].[TeamMember] SET MemberRole=@MemberRole WHERE TeamID=@TeamID AND MemberID=@MemberID;
SET @MemberRole = 'MemberRole Successfully Changed.'
SELECT @MemberRole AS 'RETURN';
我要添加一些概念,以帮助您了解Procedure的返回值的方式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.