2023-04-13
使用UTL_FILE导出包缺失包头部分,请问是什么原因呢?
10M代码如下
-- 将要导出的包名放在一个表中
CREATE TABLE packages_to_export (pkg_name VARCHAR(100));
INSERT INTO PACKAGES_TO_EXPORT SELECT OBJECT_NAME FROM DBA_OBJECTS WHERE OBJECT_TYPE='PACKAGE' AND OWNER='DMHR';
-- 遍历表中的包名,逐个导出到文件中
DECLARE
file_handle UTL_FILE.FILE_TYPE;
file_path VARCHAR2(200);
package_body VARCHAR2(32767);
BEGIN
FOR p IN (SELECT pkg_name FROM packages_to_export) LOOP
-- 生成要导出的包的文件名
file_path := '/home/dmdba/pkg' || p.pkg_name || '.pkb';
-- 打开要导出的文件并写入包体内容
file_handle := UTL_FILE.FOPEN('DIR01', p.pkg_name || '.pkb', 'w');
SELECT text INTO package_body FROM user_source WHERE name = p.pkg_name AND type = 'PACKAGE BODY' ORDER BY line;
UTL_FILE.PUT_LINE(file_handle, package_body);
UTL_FILE.FCLOSE(file_handle);
END LOOP;
END;
/
使用以上代码,导出来的包只有包体,没有包头部分内容,请问是什么原因呢?
我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏



评论
