使用存储过程并返回值与及返回值的获得方法

使用存储过程并返回值与及返回值的获得方法

CREATE TABLE [dbo].[Order]( [o_id] [bigint] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL, [o_buyerid] [int] NOT NULL )

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

存储过程中的获取方法

(1)、

使用临时表的方法

 CREATE TABLE [dbo].[Temp]

(

 [o_id] [bigint] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,

 [o_buyerid] [int] NOT NULL

)

 INSERT [Temp] EXEC [nb_order_select]

@o_id – 这时 Temp 就是EXEC执行SELECT 后的结果集 SELECT * FROM [Temp] DROP [Temp] — 删除临时表(2)、

速度不怎么样.(不推荐) SELECT * from openrowset(’provider_name','Trusted_Connection=yes’,'exec nb_order_select’)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值