mssql 里面存储过程插入了条数据之后的返回

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mssql 里面存储过程插入了条数据之后的返回相关的知识,希望对你有一定的参考价值。

可不可以返回插入的这条数据生成的主键,主键自动生成的.
如果可以要怎样...详细点最好...
详细语法.思路就无需了

参考技术A 如果主键是自动增长的话,可以在执行完之后加一条
select max(id) from table

在sql里面用Procedure
create procedure usp_test
@id int output
as
select @id = max(id) from table

然后再c#那边select就可以取得了
参考技术B mysql中主键是自己设定的。如果你没有设定主键,就不可能有主键!primary key 表示主键。 参考技术C 如果主键是自增的话在插入后用这个取@@IDENTITY追问

详细点........

追答

insert into 你的表 (你的列,你的列)values(你的值,你的值)
print @@IDENTITY
你把这两个语句一起执行你就能看到效果了.

追问

但在c#里面怎样读到

追答

你把这个值做为存储过程的返回值就行,在程序里执行玩存储过程把这个返回值取出来.

mssql 存储过程调用另一个存储过程中的结果的方法分享

原文:mssql 存储过程调用另一个存储过程中的结果的方法分享

转自:http://www.maomao365.com/?p=6801

摘要:
下文将分享"一个存储过程"中如何调用"另一个存储过程的返回结果",并应用到自身的运算中



在实际开发中,我们经常会遇到在一个存储过程中调用另一个存储过程的返回结果(存储过程相互应用),
实现思路:主要采用临时表将存储过程返回的结果集进行存储,然后供另一个存储过程应用。
如下所示:

create proc pr_b 
@a int,@b int
as
begin
select @a as a @b as b 
union all 
select @a+1 as a @b+1 as b 
end
go

-----创建存储过程pr_a,并调用存储过程pr_b的返回结果
create proc pr_a 
as
begin
create table #t (a int,b int) 
insert into #t (a,b)
exec pr_b 120,188

select * from #t

truncate table #t
drop table #t
end
go 

 

以上是关于mssql 里面存储过程插入了条数据之后的返回的主要内容,如果未能解决你的问题,请参考以下文章

sqlalchemy 调用 mssql存储过程如何获取返回值?

oracle存储过程中临时表的使用,该怎么处理

Delphi调用MSSQL存储过程返回的多个数据集的方法

MSSQL更新数据,某主键存在则更新,不存在则插入

mssql 存储过程调用另一个存储过程中的结果的方法分享

使用 SQL Server 2012 中的 MSSQL_Query 的 PHP 调用存储过程返回无效值