存储过程传varchar2参数,达到目的如下。执行语句:
insert into tabl1(f1,f2,f3)
select f1,f2,f3
from table2
where f1 in (10,20,30,40,50,60,70,80,90)以上找到记录,f1为varchar2类型10,20,30,40,50,60,70,80,90想通过一个变量来实现。insert into tabl1(f1,f2,f3)
select f1,f2,f3
from table2
where f1 in (varchar2变量)
但是这样记录找不到,我想,oracle可能是把varchar2变量作为一个值来in了,请问,我该怎么做?
insert into tabl1(f1,f2,f3)
select f1,f2,f3
from table2
where f1 in (10,20,30,40,50,60,70,80,90)以上找到记录,f1为varchar2类型10,20,30,40,50,60,70,80,90想通过一个变量来实现。insert into tabl1(f1,f2,f3)
select f1,f2,f3
from table2
where f1 in (varchar2变量)
但是这样记录找不到,我想,oracle可能是把varchar2变量作为一个值来in了,请问,我该怎么做?
select
f1,f2,f3
from
table2
where
','||varchar2变量||',' like '%,'||to_char(f1)||',%'
可不可以把insert into tabl1(f1,f2,f3)
select f1,f2,f3
from table2
where f1 in (varchar2变量) varchar2变量转义掉?有没有这种方法?