我们经常会在存储过程中调用其他的存储过程,那么,我们如何获取另一个存储过程的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

posted on 2013-01-06 11:16  小乖乖不乖  阅读(327)  评论(0编辑  收藏  举报