SSMS获取存储过程中的返回值和output值

写在前面的话

我们经常会在存储过程中调用其他的存储过程,那么,我们如何获取另一个存储过程的returnValue和outputValue呢?

建表(Folder)如下:

列名 类型 备注
FolderId int 文件夹ID 主键 自动增减
FolderName nvarchar(50) 文件夹名
ParentFolderId int 父文件夹ID
GroupNo nvarchar(12) 单位代码
UserId int 用户ID
CreateTime datetime 文件夹建立时间

添加存储过程如下:

ALTER PROCEDURE dbo.Base_CreateFolder

(

    @FolderName nvarchar(50), 

    @ParentFolderId int=null,

    @GroupNo nvarchar(12),

    @UserId int,

    @FolderID int=null output

)

AS

    /* SET NOCOUNT ON */

    INSERT INTO WFMT_Folder

          (FolderName, ParentFolderId, GroupNo, UserId, CreateTime)

    VALUES (@FolderName, @ParentFolderId, @GroupNo, @UserId,getdate())



    select @FolderID=@@identity 



    RETURN 1

在SSMS中执行存储过程:

declare @outputValue int

declare @returnValue int



exec @returnValue = Base_CreateFolder 

    @FolderName='123',@groupNo='1',@UserID=1,@folderid =@outputValue output



select outValue=@outputValue,returnValue=@returnValue

结果:

image

你可能感兴趣的:(存储过程)