类似创建表我们可以这样实现: 
create   table   newtablename   as   select   *   from   oldtablename; 
那么,存储过程如何类似创建? 
希望大家赐教,谢谢!

解决方案 »

  1.   

    exp好像也没这个功能。
    你可以从user_source表中查到相关信息,然后写个脚本实现。
    或者用第三方工具来导,比如pl/sql developer。
      

  2.   

    http://www.pushad.com/info/12070.html这有个相关的代码导出到SQL文件
    set feedback off heading off verify off trimspool off
    set pagesize 0 linesize 200
    spool e:\admin_procedures.sql
    select
       DBMS_METADATA.GET_DDL('PROCEDURE',u.object_name)
    from
       user_objects u
    where
       u.object_type = 'PROCEDURE';
    spool off;
      

  3.   

    taber(李沉舟) 
    exp/imp可以满足你的要求
    ===============================================exp/imp能导出存储过程???
      

  4.   

    SELECT * FROM User_Source where name='' and type = ''就可以看到源码
      

  5.   

    在Oracle中可以用动态SQL语句可以实现动态创建表的功能
      

  6.   

    CREATE OR REPLACE  PROCEDURE "SYSTEM"."P_ADD_NEW_USER" 
      
    ( vUserID         IN  VARCHAR2,
      vUserName       IN  VARCHAR2,
      vUserPassword   IN  VARCHAR2,
      vUserLvl        IN  VARCHAR2,
      vCompany        IN  VARCHAR2) AS
     
    BEGIN
        insert into system.NetSearchUser
               (UserID,  UserName,  UserPassword,  UserLvl,  Company)
        values (vUserID, vUserName, vUserPassword, vUserLvl, vCompany);
        
    END;
      

  7.   

    我写个函数。。
    create or replace function func_test(test number)
    return number
    as
      money number;
    begin
      money := power(test,2);
      insert into TBL_MONEY(ID, MONEY) values(SQ_MONEY.nextval, money);
      commit;
      return money;
    end;
    /
    应该对吧。。