用 dbms_metadata.get_ddl
dbms_metadata.get_ddl('VIEW','VIEW_NAME')如:
SQL> SPOOL OFF
SQL> set heading off;
SQL> set echo off;
SQL> Set pages 999;
SQL> set long 90000;
SQL> spool c:\get2.sql;--将输出结果保存到c:\get2.sql
SQL>  select dbms_metadata.get_ddl('VIEW','USER_VIEWS') from dual;
  CREATE OR REPLACE FORCE VIEW "SYS"."USER_VIEWS" ("VIEW_NAME", "TEXT_LENGTH", " "OID_TEXT_LENGTH", "OID_TEXT", "VIEW_TYPE_OWNER", "VIEW_TYPE", "SUPERVIEW_NAME") AS
  select o.name, v.textlength, v.text, t.typetextlength, t.typetext,
       t.oidtextlength, t.oidtext, t.typeowner, t.typename,
       decode(bitand(v.property, 134217728), 134217728,
              (select sv.name from superobj$ h, obj$ sv
              where h.subobj# = o.obj# and h.superobj# = sv.obj#), null)
from sys.obj$ o, sys.view$ v, sys.typed_view$ t
where o.obj# = v.obj#
  and o.obj# = t.obj#(+)
  and o.owner# = userenv('SCHEMAID')
SQL> spool off;
SQL>