SQL Server 儲存過程返回值的幾種方式

2021-08-30 08:37:50 字數 1770 閱讀 1608

獲得儲存過程的返回值–通過查詢分析器獲得

返回方式 :

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

endend

儲存過程中獲的值的方法:

declare @o_buyerid int

declare @o_id bigint

exec [nb_order_insert] @o_buyerid,@o_id output

#另乙個例子

create procedure pr_sum

@a int,

@b int,

@sum int output

asbegin

set @sum=@a+@b

end--呼叫儲存過程

declare @sum2 int

exec pr_sum 1,2,@sum2 output

print @sum2

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_buyerid ))

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 output

總結:

(1)儲存過程共分為3類:

a.返回記錄集的儲存過程---------------------------其執行結果是乙個記錄集,例如:從資料庫中檢索出符合某乙個或幾個條件的記錄

b.返回數值的儲存過程(也可以稱為標量儲存過程)-----其執行完以後返回乙個值,例如:在資料庫中執行乙個有返回值的函式或命令

c.行為儲存過程-----------------------------------用來實現資料庫的某個功能,而沒有返回值,例如:在資料庫中的更新和刪除操作

(2)含有return的儲存過程其返回值為return返回的那個值

(3)沒有return的儲存過程,不論執行結果有無記錄集,其返回值是0

(4)帶輸出引數的儲存過程:假如有return則返回return返回的那個值,假如要select輸出引數,則出現輸出引數的值,於有無return無關

引用:

SqlServer如何獲取儲存過程的返回值

1.output引數返回值 1 create procedure dbo upinformation 2 age int,3 id bigint output4 5as6begin 7set nocount on 8begin 9insert into information age 10value...

SQL Server 儲存過程返回結果集的幾種方式

2017年12月18日 21 52 24 xxc1605629895 閱讀數 7033更多 分類專欄 sqlserver 最近用到了sql server的幾種結果集返回方法,這裡整理如下 注 使用sql server 的 adventureworks2008 示例資料庫 1.table functi...

sql server儲存過程

建立表的語句 create table student sno int primary key,sname nvarchar 30 sgentle nvarchar 2 sage int,sbirth smalldatetime,sdept nvarchar 30 drop table studen...