用sql语句导出oracle中的存储过程和函数:

SET echo off ;
SET heading   off ;
SET feedback   off ;
SPOOL 'C:/PRC.SQL' replace
SELECT CASE
         WHEN LINE = 1 THEN
          'CREATE OR REPLACE ' || TEXT
         WHEN LINE = MAX_LINE THEN
          TEXT || CHR(10 ) || '/'
         ELSE
          TEXT
       END
  FROM USER_SOURCE A
  LEFT JOIN (SELECT A.NAME,A.TYPE, MAX(LINE) MAX_LINE
               FROM USER_SOURCE A
              WHERE TYPE in ( 'PROCEDURE', 'PACKAGE' ,'PACKAGE BODY' )
              GROUP BY A.NAME,A.TYPE ) B ON A.NAME||A.TYPE = B.NAME||B.TYPE
 WHERE A.TYPE in ('PROCEDURE' ,'FUNCTION', 'PACKAGE', 'PACKAGE BODY' ) AND A.NAME IN
 (
SELECT name FROM ALL_SOURCE  
    WHERE (TYPE='PROCEDURE' or type='FUNCTION')
    AND OWNER='你的应用实例' 
        GROUP BY name
)
ORDER BY a.NAME||a.TYPE , LINE;
SPOOL OFF

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-25
  • 2021-11-30
  • 2021-11-27
猜你喜欢
  • 2021-11-11
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-03-15
  • 2021-07-13
  • 2021-10-10
相关资源
相似解决方案