直接使用就可以了,嘻嘻
但是,要先声明一些你所使用的变量,如下:
declare
  变量列表
begin
  变量赋值
  
  调用存储过程
end;

解决方案 »

  1.   

    为什么啊?总是提示不是select语句的错误。
      

  2.   

    create or replace procedure DT_yourname is
       V_WORKSHEET_ID VARCHAR2(1000);
       V_Str varchar2(2000);
       v_strAll varchar2(2000);
       cursor D is
         select distinct col1 from tablename;
       CURSOR    E(V_WORKSHEET_IDRef varchar2) IS
         SELECT col2 FROM tablename where col1=V_WORKSHEET_IDRef;
    begin
    OPEN D;
        FETCH D INTO V_WORKSHEET_ID;
        WHILE D%FOUND LOOP
              v_strAll:='';
              OPEN E(V_WORKSHEET_ID);
              FETCH E INTO V_Str ;
                   WHILE E%FOUND LOOP
                         v_strAll:=v_strAll||V_Str;
                   FETCH E INTO V_Str ;
                  END LOOP;
                  insert into temp (col1,col2) values (V_WORKSHEET_ID,v_strAll) ;
              FETCH D INTO V_WORKSHEET_ID ;
        END LOOP;
    end DT_yourname;
    目的是将tablename中的col2在col1相同的情况下合并。不知道怎么搞
      

  3.   

    你最好显示关闭游标,另外你的过程应该可以执行啊,只要在一个 SQL 块中调有就可以了
      

  4.   

    CURSOR    E(V_WORKSHEET_IDRef varchar2) IS
         SELECT col2 FROM tablename where col1=V_WORKSHEET_IDRef;这样写对吗?