oracle 存储过程,如何传入一个数组

如题所述

这个是不行的,数组内容必须首先在存储过程里定义好数组类型,然后给予定义好的数据类型定义数组型变量。存储过程的入参是做不到的。一般情况下,采用字符串的方式,并给每项用特定的分隔符的方式传入,然后在存储过程中按照分隔符解析出每一项,插到存储过程的定义的数组的每一项上去。
温馨提示:内容为网友见解,仅供参考
无其他回答

oracle 存储过程,如何传入一个数组
这个是不行的,数组内容必须首先在存储过程里定义好数组类型,然后给予定义好的数据类型定义数组型变量。存储过程的入参是做不到的。一般情况下,采用字符串的方式,并给每项用特定的分隔符的方式传入,然后在存储过程中按照分隔符解析出每一项,插到存储过程的定义的数组的每一项上去。

java程序在调用oracle的存储过程时 能不能传入一个数组
create or replace TYPE NESTEDARRAY IS TABLE OF NUMBER;在存储过程中使用自定义类型NESTEDARRAY。PROCEDURE GET_ARR_RESULT(INPUTARRAY IN NESTEDARRAY, AR OUT NESTEDARRAY) IS BEGIN AR := NESTEDARRAY();FOR I IN 1 .. INPUTARRAY.COUNT LOOP AR.EXTEND;AR(I) := I|| INPUTARRAY(I);END L...

oracle存储过程怎么将变量扔进数组
先自定义集合类型变量类型,然后定义对应的变量,直接把集合类型穿给存储过程就可以了,不用在存储过程中搞,应用程序中搞好传过去就可以了,我都是这样搞的

oracle数据库如何利用存储过程向表中添加数据?
实际上存储过程向表中插入数据和sql执行的区别是不大的,只不过是存储过程是用loop等循环插入,之后顺序执行sql语句,不用命令行执行。CREATE OR REPLACE PROCEDURE insert_data_4_pressure_3 is --Result1 VARCHAR2(50); VAR_num number;begin VAR_num:=1; while VAR_num< 1000000 LO...

ORACLE中如何为存储过程传递参数
给你一个 传递参数的例子 SQL> CREATE OR REPLACE PROCEDURE HelloWorld2 (2 p_user_name IN VARCHAR2,3 p_out_val OUT VARCHAR2,4 p_inout_val IN OUT VARCHAR2 5 ) AS 6 BEGIN 7 dbms_output.put_line('Hello ' || p_user_name || p_inout_val || '!');...

oracle存储过程的in out 值传递,这是怎么传递的??看不懂啊??_百度知 ...
p_user_name的IN,表示这个参数是传入参数。p_out_val的OUT,表示这个是传出参数。也就是JAVA中return的值。p_inoutval的IN OUT,表示这个既是传入、又是传出参数。也就是说,你可以利用它传入该存储过程,然后接到处理后的这个参数。一个参数搞定了2项功能(传入,传出)...

oracle存储过程中怎么理解传入传出参数(in out)
in 是参数的默认模式,这种模式就是在程序运行的时候已经具有值,在程序体中值不会改变。举个例子 create or replace procedure update_price(p_product_id in NUMBER,p_factor in NUMBER)AS ...你在引用这个过程的时候给参数传入值 exexute update_price(2,2.5);这是定义的2个参数就得到了值,i...

oracle中存储过程怎么定义一个数组
在PL\/SQL中是没有数组(Array)概念的。但是如果程序员想用Array的话,就得变通一下,用TYPE 和Table of Record来代替多维数组

java字符串数组作为参数传递oracle存储过程
用字符串传。先组成一个字符串,比如多个值之间用逗号分隔开,传进去之后再按照分隔符分成数组,应该是一个办法。

java字符串数组作为参数传递oracle存储过程
建议你用字符串的方式存储数组,假如你有3个id的list分别为1,2,3,你可以传1,2,3这样的字符串给存储过程然后在存储过程里面再切割写逻辑。只在数据库里面用其定义的数组传递参数,没有用java传数组值,楼主若找到办法了,也请告知一声。

相似回答