首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

遇到个游标奇怪的有关问题,请高手来帮忙

2012-03-30 
遇到个游标奇怪的问题,请高手来帮忙代码大致如下:PRO_INDEXDATA(IN_TABLESVARCHAR2)iscursor A_CUR(CUR_TA

遇到个游标奇怪的问题,请高手来帮忙
代码大致如下:
PRO_INDEXDATA(IN_TABLES VARCHAR2)
is
  cursor A_CUR(CUR_TABLES VARCHAR2) is
  SELECT TABLE_NAME
  FROM ALL_TABLES
  WHERE TABLE_NAME IN (CUR_TABLES);
  AAA A_CUR%rowtype;

V_TABLES VARCHAR2(200);

begin
  if IN_TABLES is null then
...
  else
  V_TABLES := '''' || REPLACE(UPPER(IN_TABLES), ',', ''',''') || ''''---前几天在论坛问别人的,意思是如果遇到aaa,bb,cc结果变成'aaa','bb','cc',但是好像这样写当游标参数有问题,结果查不出记录来,不知道怎么搞的,有谁能解决这个问题。dbms_output.put_line(V_TABLES); ----能打印的出for ..LOOP
dbms_output.put_line(1); --打印不出,查不到记录,直接跳出游标end loop
end;

[解决办法]
这种情况不用转,直接用传进的IN_TABLES查询,改下游标的SQL即可

SQL code
 cursor A_CUR(CUR_TABLES VARCHAR2) is  SELECT TABLE_NAME  FROM ALL_TABLES  WHERE  instr(','||upper(CUR_TABLES)||',',','||TABLE_NAME||',')>0; 

热点排行