1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 【转】SQL SERVER 获取存储过程返回值

【转】SQL SERVER 获取存储过程返回值

时间:2020-01-20 06:01:45

相关推荐

【转】SQL SERVER 获取存储过程返回值

1.OUPUT参数返回值

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 intDECLARE @o_id bigintEXEC [nb_order_insert] @o_buyerid,@o_id output

2.RETURN过程返回值

CREATE PROCEDURE [dbo].[nb_order_insert](@o_buyerid int ,@o_id bigint OUTPUT)ASBEGINSET NOCOUNT ON;IF(EXISTS(SELECT * FROM [Shop] WHERE [s_id] = @o_shopid))BEGININSERT INTO [Order](o_buyerid )VALUES (@o_buyerid )SET @o_id = @@IDENTITYRETURN 1 --插入成功返回1ENDELSERETURN 0 --插入失败返回0END

存储过程中的获取方法

DECLARE @o_buyerid intDECLARE @o_id bigintDECLARE @result bitEXEC @result = [nb_order_insert] @o_buyerid ,o_id bigint

3.SELECT 数据集返回值

CREATE PROCEDURE [dbo].[nb_order_select](@o_id int)ASBEGINSET NOCOUNT ON;SELECT o_id,o_buyerid FROM [Order]WHERE o_id = @o_idGO

存储过程中的获取方法

(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’)

转自:/liangweiwei130/article/details/6691207

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。