数据存储在临时表中,游标从临时表中去数据,怎么写才正确呢?
代码如下:
 DECLARE CURSOR my_cursor IS  SELECT fid, sqsl FROM tt_tb2 ;
其中tt_tb2为临时表.

解决方案 »

  1.   

    游标对临时表与非临时表的写法一样,下面是非临时表的一个例子DECLARE
      CURSOR my_cursor IS SELECT object_name FROM user_objects;
      l_obj_name varchar2(100);
    BEGIN
      OPEN my_cursor;
      LOOP
        FETCH my_cursor INTO l_obj_name;
        EXIT WHEN my_cursor%NOTFOUND;
        DBMS_OUTPUT.PUT_LINE(l_obj_name);
      END LOOP;
      CLOSE my_cursor;
    END;
    /
      

  2.   

    游标我知道是这样写的.DECLARE CURSOR my_cursor IS  SELECT fid, sqsl FROM tt_tb2 ; 其中tt_tb2为临时表时提示有错.临时表tt_tb2已经定义.
    execute immediate 'create  GLOBAL  temporary table tt_tb2 (  
         dw number(18,0),
         fid number(18,0),
         bm varchar2(100),
         th varchar2(100),
         xhgg varchar2(500),
         sqsl number(18,4),
         kcjldw number(18,0)
          )ON COMMIT DELETE ROWS';也就是从临时表中提取结果怎么写?
      

  3.   

    DECLARE 
      CURSOR my_cursor IS SELECT object_name FROM user_objects; 
      l_obj_name my_cursor%rowtype; BEGIN 
      OPEN my_cursor; 
      LOOP 
        FETCH my_cursor INTO l_obj_name; 
        EXIT WHEN my_cursor%NOTFOUND; 
        DBMS_OUTPUT.PUT_LINE(l_obj_name.col);   END LOOP; 
      CLOSE my_cursor; 
    END; 

      

  4.   

    把表的每一行放在定义的l_obj_name 
    然后输入每一行用到的列就可以了