简体   繁体   English

如何将 List<> 传递给 Oracle 存储过程

[英]How to pass a List<> to an Oracle stored procedure

I have code that already stores String data inside a SQL table using a stored procedure:我的代码已经使用存储过程将字符串数据存储在 SQL 表中:

// my DAO
public class SomeProcedure extends StoredProcedure {
    public void process (String data) {
        Map<String, Object> map = new HashMap<String, Object>();
        hm.put("customData", data);
        Map<?,?> result = super.execute(hm);
    }
}

// My pks
procedure storeData (
    data_p in someTable.data%type,
    data_o out someTable.data%type,
)
as
begin
    insert into someTable
...
end storeData;

I need to modify it to include an object List.我需要修改它以包含一个 object 列表。 For example:例如:

// my DAO
public class SomeProcedure extends StoredProcedure {
    public void process (String data, List<someObject> list) {
        Map<String, Object> map = new HashMap<String, Object>();
        hm.put("customData", data);
        hm.put("customList", list);
        Map<?,?> result = super.execute(hm);
    }
}

It is unclear to me how to support a List of objects in the stored procedure.我不清楚如何支持存储过程中的对象列表。

Does anyone have experience passing and parsing lists of objects to store procedures?有没有人有传递和解析对象列表以存储过程的经验? Can anyone provide some sample code of what this would look like?任何人都可以提供一些示例代码吗?

I am using such call in my application (no access to sources now), but its looks like http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:712625135727我在我的应用程序中使用了这样的调用(现在无法访问源代码),但它看起来像http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P1613577712

One problem I remember was fighting, was SQL exception at runtime, solved by adding orai18n.jar to classpath beside ojdbc14 (for oracle 10g and passing list of strings )我记得的一个问题是战斗,是 SQL 运行时异常,通过将 orai18n.jar 添加到 ojdbc14 旁边的类路径中解决(对于 ZA189C633D9995E1B8607170ECA 字符串列表 41BF8607170EC9)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何将BLOB数组传递给存储的oracle过程? - How to pass an array of BLOB to a stored oracle procedure? 如何使用休眠本机SQL查询将对象列表传递给oracle中的存储过程 - How to pass a list of objects to a stored procedure in oracle using hibernate native sql query 如何将Java对象列表传递给oracle存储过程(不能使用Spring) - How to pass java list of objects to oracle stored procedure (Cannot use Spring) 如何在MySQL存储过程中传递字符串列表? - How to Pass a List of String in MySQL Stored Procedure? 如何将列表从 Java 传递到 Oracle 过程? - How to pass List from java to Oracle Procedure? 如何使用以下详细信息将java对象传递给oracle存储过程 - how to pass a java object to oracle stored procedure with following details 无法将数组传递给Oracle中的存储过程 - Cannot pass array to stored procedure in oracle 将oracle对象类型传递给j​​ava存储过程 - Pass oracle object type to java stored procedure 发送和检索数组列表到oracle存储过程 - Send & Retrieve array list to oracle stored procedure 将List of Bean传递给oracle存储过程的Java程序 - 一次传递整个列表而不是一个接一个地追加对象 - Java program to pass List of Bean to a oracle stored procedure - Pass entire list at one shot rather than appending objects one after the other
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM