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

存储过程返回list

发布时间: 2022-03-02 15:33:33

1. oracle存储过程返回参数是一个cursor,怎么转换为list

这里返回的是个结果集.rs.next返回的是一行数据.直接rs.getXXX方法获取.最好先声明一个对象来存放各个值,然后再赋给list.以便于使用.

2. 获取存储过程返回值

这个test(100,200)这个不对的吧,其中有一个是output的值,你这个都变成input了。
还有我估计参数2是输出参数,以为存储过程中需要把 输出的写在输入之后。
创建存储过程语法基本如下:
create or replace procere test1( 参数1 in varchar2(20),参数 2 out varchar2(20))
还有一种可能就是如果你这两个参数既能输入也能输出的话,是
create or replace procere test1( 参数1 in out varchar2(20),参数 2 in out varchar2(20))
这样就分不清楚哪个是输出了。

你是不是java程序组的,负责把BI组编的存储过程放进去?
这样需要多沟通了吧,我对java不是很了解,希望我说的sql方面的能帮到你。

3. 存储过程能不能返回一个值啊

存储过程有两种方式返回值:
第一:通过output 参数
第二:通过return来实现

而在你的存储过程已经声明了一个output参数,只要你在你的存储过程已经给这个值赋值了,它就能返回回去.

建议一般用output参数,因为它可以返回多个,而return只能是一个,return一般用来返回:影响的行数,错误编码等

简单例子:
DECLARE @tmpCount int
SET @tmpCount int = (SELECT COUNT(*) FROM 表名 WHERE 你要进行搜索的条件)

IF (@tmpCount = 0)
BEGIN
INSERT 操作
RETURN 1
END
ELSE
BEGIN
RETURN 0
END

4. Oracle中存储过程返回自定义的集合类型,Java中使用mybatis返回List集合类型

存储过程我不太熟,给你一个调用储存过程mybatis的实例参考:

<mappernamespace="entity.puserMapper">	
<!--调用存储过程-->
<selectid="getCount"parameterMap="getUserCountMap"statementType="CALLABLE">
CALLmyts.ges_user_count(?,?)
</select>
<parameterMaptype="java.util.Map"id="getUserCountMap">
<parameterproperty="sexid"mode="IN"jdbcType="INTEGER"/>
<parameterproperty="usercount"mode="OUT"jdbcType="INTEGER"/>
</parameterMap>
</mapper>

主要是定义好parameterMap就行了

5. SQL 取存储过程的返回值

存储过程应该有返回值的,
问题应该出现在你vb6的调用语句中(第二个参数是输出类型的参数,
是否有正确设置).
你可以在查询分析器中执行此存储过程,
看看返回的结果.
还有,
此存储过程中的select语句最好加上top
1限制,
因为你只要判断是否能选到结果而已:
select
top
1
*
from
tb_package
where
packagenumber=@a

6. 如何用java调取带有列表返回值的存储过程

方式一:
简单的使用JDBC
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:orcl";
//orcl为数据库的SID
String user="test";
String password="test";
Connection conn= DriverManager.getConnection(url,user,password);
List list = new ArrayList();
try{
Statement stmt = conn.createStatement();

ResultSet rs = stmt.executeQuery(SQL); //这里的SQL就是你的查询语句

ResultSetMetaData md = rs.getMetaData();

int columnCount = md.getColumnCount();

while (rs.next()) {

Map map = new HashMap();

for (int i = 1; i <= columnCount; i++) {

map.put(md.getColumnName(i), rs.getObject(i));

}

list.add(map);

}

}catch(SQLException e)
{
e.printStackTrace();
}

return list;
我自己写的,不管什么SQL,都可以查询获取到一个list

7. 存储过程返回值

create procere InsertNull
@TableName varchar(50),
@Result int output
AS
declare @dtName varchar(1000)
set @dtName='insert into ' + @TableName +' default values'
exec(@dtName)
set @Result=SCOPE_IDENTITY()
select @Result As Result --注意,这里显示出来
go

然后exec insertnull ...参数
就相当于select Result

如果在程序里,执行这句之后,就能访问Result字段了

8. 在存储过程中使用存储过程的返回值

分成两步写吧.
先执行 exec A
就象你说的,可以用一个零时表,比如: biao 把A的结果放到BIAO中.
然后在写insert into newtable 是一下.

新建一张表,比如:biao
在存储过程A中,有向BIAO中插入数据的语句:即,insert into biao.....这样
在执行存储过程A的时候把数据已经插入到BIAO 中,在执行EXEC A后,表BIAO 中已经有了数据.这样,你做什么操作都可以了.是空值也没关系,除非你执行存储过程B中有不允许为空的字段.

9. sql server 存储过程如何返回一个集合啊

你需要的功能, 是不是 一个 叫做 “表值函数” 的东西?

SQLServer通过RETURNTABLE来实现。

1>CREATEFUNCTIONgetHelloWorld()
2>RETURNSTABLE
3>AS
4>RETURN
5>SELECT'Hello'ASA,'World'ASB;
6>GO
1>SELECT*FROMgetHelloWorld();
2>go
AB
----------
HelloWorld

(1行受影响)



如果返回的结果, 不是简单的一个 SQL 语句的, 而是比较复杂的业务逻辑的

CREATEFUNCTIONgetTestTable()
RETURNS@resultTABLE(Aint,Bint,Cint)
AS
BEGIN
INSERTINTO@resultVALUES(1,2,3);
INSERTINTO@resultVALUES(4,5,6);
INSERTINTO@resultVALUES(7,8,9);
RETURN;
END;SELECT*FROMgetTestTable();

A B C
1 2 3
4 5 6
7 8 9

10. 如何获取存储过程的返回值和输出值

没有见过调用存储过程象调用游标一样的代码,一般我是这样声明的:DECLARE Lproc_1 PROCEDURE FOR
proc_1 @as_int = :li_int OUTPUT ;
execute Lproc_cw_gz_personal_cal ;
变量li_int即为返回的值。如果要同时返回多行的数据,可以使用DATAWINDOW或者是DATASTORE来得到结果集:
string ls_sql_syntax , ls_syntax
string ls_error
integer li_ini

热点内容
滑板鞋脚本视频 发布:2025-02-02 09:48:54 浏览:431
群晖怎么玩安卓模拟器 发布:2025-02-02 09:45:23 浏览:557
三星安卓12彩蛋怎么玩 发布:2025-02-02 09:44:39 浏览:743
电脑显示连接服务器错误 发布:2025-02-02 09:24:10 浏览:536
瑞芯微开发板编译 发布:2025-02-02 09:22:54 浏览:146
linux虚拟机用gcc编译时显示错误 发布:2025-02-02 09:14:01 浏览:232
java驼峰 发布:2025-02-02 09:13:26 浏览:651
魔兽脚本怎么用 发布:2025-02-02 09:10:28 浏览:532
linuxadobe 发布:2025-02-02 09:09:43 浏览:212
sql2000数据库连接 发布:2025-02-02 09:09:43 浏览:726