求一个存储过程 
目的是用来查找一个表的所有字段,把这些字段用,连接存储到一个变量里面.
其中查找字段的sql为select column_name from user_tab_coumns whrer table_name = 'table_name'急 ~~高手指教

解决方案 »

  1.   

    SQL> create or replace function fundemo(tbname varchar2) 
      2  return varchar2 as
      3  vColName varchar2(30);
      4  vRtn varchar2(1000):='';
      5  begin
      6   for cur in (select CNAME from col where TNAME=upper(tbname)) loop
      7   vRtn := vRtn||','||cur.CNAME;
      8   end loop;
      9  return vRtn;
     10  end fundemo;
     11  /函数已创建。SQL> desc emp;
     名称                                      空?      类型
     ----------------------------------------- -------- ---------------------------
     EMPNO                                     NOT NULL NUMBER(4)
     ENAME                                              VARCHAR2(10)
     JOB                                                VARCHAR2(9)
     MGR                                                NUMBER(4)
     HIREDATE                                           DATE
     SAL                                                NUMBER(7,2)
     COMM                                               NUMBER(7,2)
     DEPTNO                                             NUMBER(2)SQL> select fundemo('EMP') from dual;FUNDEMO('EMP')
    -------------------------------------------------------------------------------
    ,EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNOSQL>