获取存储过程返回值

1.OUPUT参数返回值
例: 向Order表插入一条记录,返回其标识

CREATE PROCEDURE [dbo].[nb_order_insert](
@o_buyerid int
 ,
@o_id bigint
 OUTPUT
)
AS

BEGIN
SET NOCOUNT ON;
BEGIN

INSERT INTO [Order](o_buyerid )
VALUES (@o_buyerid
 )
SET @o_id = @@IDENTITY

END
END

存储过程中获得方法:

DECLARE   @o_buyerid  int
DECLARE   @o_id  bigint
EXEC   [ nb_order_insert ]   @o_buyerid  ,o_id bigint

2.RETURN过程返回值

CREATE PROCEDURE [dbo].[nb_order_insert] (
@o_buyerid int
 ,
@o_id bigint
 OUTPUT
)
AS

BEGIN
SET NOCOUNT ON ;
IF(EXISTS(SELECT * FROM [Shop] WHERE [s_id] = @o_shopid
))
BEGIN

INSERT INTO [Order] (o_buyerid )
VALUES (@o_buyerid
 )
SET @o_id = @@IDENTITY

RETURN 1  — 插入成功返回1
END

ELSE
RETURN 0  — 插入失败返回0
END

存储过程中的获取方法
DECLARE   @o_buyerid  int
DECLARE   @o_id  bigint
DECLARE   @result  bit
EXEC   @result   =   [ nb_order_insert ]   @o_buyerid  ,o_id bigint  

3.SELECT 数据集返回值

CREATE PROCEDURE [dbo].[nb_order_select] (
@o_id int

)
AS
BEGIN
SET NOCOUNT ON ;
SELECT o_id,o_buyerid FROM [Order]

WHERE o_id = @o_id
GO

转自: http://www.cnblogs.com/souso/archive/2009/09/09/1563104.html

你可能感兴趣的:(获取存储过程返回值)