select * from ab02 where aab001 in (select aab001 from ab01 )in 不能从数组中或变量中取值呢?必须从sql语句的返回值中得吗?
解决方案 »
- linux下安装oracle的问题,大虾请进
- regexp_like用法有点儿问题
- oracle em不能打开,建立的用户连接就卡在那里
- 请教一个 ORACLE中 减法的问题,群众乱入
- 关于IMP导入表的问题 急死了 大家看看
- 怎么知道两个日期date变量之间相差多少年,月,日,时,分,秒?
- windows2003(安在C分区中)系统瘫痪,如何恢复ORACLE9i(安在D分区中)
- 各位大哥,oracle导出数据表后,怎么没有导出触发器啊
- alter table table1 add (kyc number(20)); 出错了
- oracle存储过程,查询每个月的记录量
- 如何在库里规划存放数据
- oracle中是否可以定义“表变量”?如果有,那怎样定义呢?谢谢
像 in( str_a,str_b,str_c)这种吧?我的变量个数是不一定的
如果在存储过程中,可以如下:
str:=str_a||','||str_b||','||str_c;
--..从数组中取变量 a ,判断限制下当连接数组中第一个变量时不用 ||','
v_str:=v_str||','||''''||a||'''';
end loop ;v_str:=v_str||')';--拼好了完整的SQL语句 然后执行execute immediate v_str;我测试了下,连接字符串是没问题的(9i环境)。SQL> select ','||''''||sysdate||'''' from dual;','||''''||SYSDATE||''''
------------------------
,'09-11月-07'
直接
open cursor_name for v_str;
动态sql,还要拼解析返回结果,再拼sql语句,麻烦