这样是不行的
用动态sql试试
用动态sql试试
解决方案 »
- 在pl/sql developer中,怎么把自定义函数添加进用户名下?
- wm_concat能取到合并行后值的数量吗,或者如何取字段中以逗号分割的字符的数量?
- vb 调用 oracle 使用 order 函数后,删除某一记录显示无法定位
- 请教一句SQL查询
- 最奇怪,最棘手的问题,请高手解决一下!
- 寻求 分区表 与表空间 关系
- 求一个定期备份的储存过程,需要用job
- 一个新建的Oracle会生成很多表,和用户。这些用户和表是不是可以删除。
- 如何将NCLOB 转换为 CLOB
- oracle返回记录集与VB程序的内存泄露,弱水三千,biti_rainy等高手帮帮忙!!!
- 怎么在pl/sql语句中加入sqlplus的connect命令?
- 数据导入导出求助!
如何用动态SQL?
比如你的变量存放的字符串为'1,2,3,4,5'
oracle认为只是一个字符串变量而不能在编译sql语句时连逗号一起编译
str := 'select ...'
execute immediate str into..;
11:04:57 SQL> set serveroutput on;
11:05:02 SQL> declare
11:05:02 2 c varchar2(20);
11:05:02 3 str varchar2(100);
11:05:02 4 begin
11:05:02 5 str:='select bbb from tcc where rownum=1';
11:05:02 6 execute immediate str into c;
11:05:03 7 dbms_output.put_line(c);
11:05:20 8 end;
11:05:22 9 /
CPL/SQL 过程已成功完成。实际:130
11:05:23 SQL> 主要是把要执行的sql语句组合好