如何将数组绑定到PL/SQL
.
例如,我有以下数组:
array_col3 = {1,2,3,4,5,6,7}
现在我想select
从一个基于array
.
select * from tabA where col3 in (select * from (:array_col3));
如何将数组绑定到PL/SQL
.
例如,我有以下数组:
array_col3 = {1,2,3,4,5,6,7}
现在我想select
从一个基于array
.
select * from tabA where col3 in (select * from (:array_col3));
希望下面的代码片段有所帮助。
SET serveroutput ON;
DECLARE
lv sys.odcivarchar2list:=sys.odcivarchar2list('1','2','3','4');
lv1 sys.odcivarchar2list;
BEGIN
SELECT * BULK COLLECT
INTO lv1
FROM
( SELECT LEVEL LVL FROM DUAL CONNECT BY LEVEL < 10
)A
WHERE A.lvl IN
(SELECT COLUMN_VALUE FROM TABLE(LV)
) ;
dbms_output.put_line(lv1.COUNT);
END;
###############################OUTPUT##########################################
anonymous block completed
4
###############################OUTPUT##########################################
在 plsql 中它不是那么简单。你必须使用类型,看看 dbms_utility package 。
例子:
Va dbms_utility.number_array;
Va(1) := 1;
Va(2) := 2;