当前位置:首页 » 存储配置 » sqlserver存储过程返回

sqlserver存储过程返回

发布时间: 2022-05-30 13:31:08

㈠ 怎么从sqlserver的存储过程获得返回的数据

SQL Server中存储过程的返回值不是通过return语句返回的(return语句是在用户自定义函数中使用的),而是通过存储过程的参数来返回,在定义存储过程的参数时使用关键字output来指定此参数是返回值。
而在调用存储过程时,也必须使用关键字给接收返回值的变量,这样才能在调用时获得存储过程的返回值。
示例:

create procere dbo.pr_add @a int, @b int, @c int outputas set @c = @a + @bgo

调用:

declare @v intexecute dbo.pr_add 1, 2, @v outputselect @v

㈡ sqlserver存储过程结果是'001'(varchar),return回来的值却是'1'

createprocsp_xxx_get_id(@o_idvarchar(15)output)
as
begin
set@o_id='001';
end
GO
declare@resultvarchar(15);
execsp_xxx_get_id@resultoutput
select@resultasid

上面是一个例子,可以参考。

存储过程可以返回整数。你这个例子是将001转化为整数1了,如果id是其它字符如'abc',则你那种调用方式会产生错误。

㈢ mybatis调用sqlserver存储过程返回结果集 层怎么处理

Mybatis调用存储过程返回结果集
配置文件
<resultMap type="Integer" id="count">
<result column="RecordCount" jdbcType="INTEGER" javaType="Integer" />
</resultMap>

<resultMap type="OrderForm" id="orders">
<result column="OrderId" property="id" jdbcType="VARCHAR" javaType="String"/>
</resultMap>

<select id="getOrders" statementType="CALLABLE" parameterType="Map" resultMap="count,orders" >
{call Page_Up_Get_OrderState(#{id,mode=IN,jdbcType=VARCHAR})}
</select>

需要注意的地方 statementType="CALLABLE" 不能少resultMap="count,orders" 这里返回多个结果集,如果有更多可以继续加
Dao层的接口
public List<List<?>> getOrders(Map<String, Object> map);

Service层调用
Map<String,Object> map=new HashMap<String, Object>();
map.put("id", "22333");
//取得返回的结果集
List<List<?>> results = orderDao.getOrders(map);
//第一条结果集 总数量
System.out.println(((List<Integer>)results.get(0)).get(0));
//第二条订单列表
System.out.println((List<OrderForm>)results.get(1));

㈣ Sqlserver存储过程返回表,如何实现

代码参考如下:
create proc p_abc @i int
as
--中间有个非常复杂的计算
select * from #tmp where fid=@i
go

create proc p_test @i int
as
set nocount on

create table #temp(.....)
insert into #temp
exec p_abc @i --执行这个语句后返回一个table,把这个返回结果插入到临时表

go

㈤ 如何返回sqlserver 中存储过程的select的结果集

有两种方式啊 可以直接在 存储过程中 select ,执行存储过程 后会有那个结果列表查询出来
或者建一张临时表 insert into #t1 EXEC 过程名

㈥ 如何使sqlserver存储过程返回varchar

呵呵,换个思路,不用返回值,用结果集返回,这样简单也通用

crate proc 存储过程名
as
begin
select '返回值' as returnvalue

end

㈦ sqlserver怎么获取存储过程的返回值

1.OUPUT参数返回值

CREATEPROCEDURE[dbo].[nb_order_insert](
@o_buyeridint,
@o_idbigintOUTPUT
)
AS
BEGIN
SETNOCOUNTON;
BEGIN
INSERTINTO[Order](o_buyerid)
VALUES(@o_buyerid)
SET@o_id=@@IDENTITY
END
END

2.存储过程中获得方法:

DECLARE@o_buyeridint
DECLARE@o_idbigint
DECLARE@resultbit
EXEC@result=[nb_order_insert]@o_buyerid,o_idoutput

3.SELECT 数据集返回值

CREATEPROCEDURE[dbo].[nb_order_select](
@o_idint
)
AS
BEGIN
SETNOCOUNTON;
SELECTo_id,o_buyeridFROM[Order]
WHEREo_id=@o_id
GO

㈧ 怎样让SqlServer的存储过程返回结果集

1、返回结果集

这是客户端应用程序返回结果的最通用的方法。结果集是通过使用SELECT语句选择数据产生的。结果集可以从永久表、临时表或局部变量中产生。将结果返回到另一个存储过程不是一种有效的方法。存储过程不能访问另一个存储过程建立的结果集。

例如从永久表中返回结果集:
USE pubs
GO
CREATE PROCEDURE ap_CreateResultFromPermtable
AS
SELECT au_iname FROM authors
例如从局部变量中创建结果集:

USE pubs
GO
CREATE PROCEDURE ap_CreateResultFromVariable
AS
DECLARE @au_iname char(20)
SELECT @au_iname = au_iname FROM authors
WHERE au_id = ‘172-32-1176’
SELECT @au_id
GO

㈨ sqlserver 存储过程 返回结果集的 例子

返回结果集不用Output,直接Select出来的结果集就能返回
在应用程序或网页程序中用你调用存储过程的这个对象像普通记录集一个调用就好了
如果是在查询分析器中执行,可以在下面的“网格”中直接看到返回的这个结果集

热点内容
台湾免费服务器地址 发布:2024-11-14 13:46:37 浏览:900
安卓哪里可以听空间音频 发布:2024-11-14 13:39:39 浏览:481
什么软件查看手机配置 发布:2024-11-14 13:35:25 浏览:726
androidsql查询语句 发布:2024-11-14 13:35:09 浏览:893
linux查看线程数 发布:2024-11-14 13:34:21 浏览:771
如何在实验室搭建服务器 发布:2024-11-14 13:33:36 浏览:632
c语言多个条件 发布:2024-11-14 13:32:36 浏览:71
缓存行原理 发布:2024-11-14 13:08:56 浏览:432
简单的vb编程 发布:2024-11-14 13:06:45 浏览:523
绿色linux 发布:2024-11-14 12:56:11 浏览:350