在SQL*PLUS中建立、调用函数

定义函数
CREATE  OR  REPLACE  FUNCTION   f_jf_companylist (tradeid IN VARCHAR2)
   RETURN VARCHAR2
IS
   str_return   VARCHAR2 (2000);

   CURSOR c_tradeid (v_tradeid VARCHAR2)
   IS
      SELECT id
        FROM a1
       WHERE id=v_tradeid;
BEGIN
   FOR str_temp IN c_tradeid (tradeid)
   LOOP
      str_return := str_return || ',' || str_temp.id;
   END LOOP;

   RETURN str_return;
END;

执行函数
SQL> declare
  2  str varchar2(30000);
  3  begin
  4  str:=f_jf_companylist('proyang1');
  5  dbms_output.put_line('返回值是'||str);
  6  end;
  7  /
返回值是,proyang1,proyang1,proyang1,proyang1,proyang1,proyang1,proyang1,proyang1,p
royang1,proyang1

PL/SQL 过程已成功完成。

你可能感兴趣的:(oracle心得)