问题描述
我正在使用以下代码导出我的模式 “knk” 的一些表。
declare
h1 number;
v_schema VARCHAR2(32);
v_time VARCHAR2(32);
v_job_state varchar2(4000);
begin
SELECT to_char(SYSDATE, 'DD_MM_YYYY_hh24_mi_ss') INTO v_time FROM DUAL;
v_schema:='KNK';
h1 := dbms_datapump.open(operation => 'EXPORT', job_mode => 'TABLE');
DBMS_DATAPUMP.add_file (h1, v_schema||'_'||v_time||'.DMP','EXP',reusefile => 1);
DBMS_DATAPUMP.add_file (handle => h1,filename => v_schema||'_'||v_time||'.LOG',directory => 'EXP1',reusefile => 1,filetype => DBMS_DATAPUMP.KU$_FILE_TYPE_LOG_FILE);
dbms_datapump.metadata_filter(handle => h1,name => 'NAME_EXPR',value => 'IN (''T_VISIT'',''T_SUBVISIT'',''T_SERVICES'')', object_type => 'TABLE');
dbms_datapump.start_job(h1);
DBMS_DATAPUMP.WAIT_FOR_JOB(h1, v_job_state);
DBMS_OUTPUT.PUT_LINE(v_job_state);
end;
除了这三个表,我想导出两个序列 (例如患者 _ 信息 _ 序列,患者 _ 服务 _ reg2_seq)。
请帮助完成这项任务。
谢谢
拉维·莱
declare
h1 number;
v_schema VARCHAR2(32);
v_time VARCHAR2(32);
v_job_state varchar2(4000);
begin
SELECT to_char(SYSDATE, 'DD_MM_YYYY_hh24_mi_ss') INTO v_time FROM DUAL;
v_schema:='KNK';
h1 := dbms_datapump.open(operation => 'EXPORT', job_mode => 'TABLE');
DBMS_DATAPUMP.add_file (h1, v_schema||'_'||v_time||'.DMP','EXP',reusefile => 1);
DBMS_DATAPUMP.add_file (handle => h1,filename => v_schema||'_'||v_time||'.LOG',directory => 'EXP1',reusefile => 1,filetype => DBMS_DATAPUMP.KU$_FILE_TYPE_LOG_FILE);
dbms_datapump.metadata_filter(handle => h1,name => 'NAME_EXPR',value => 'IN (''T_VISIT'',''T_SUBVISIT'',''T_SERVICES'')', object_type => 'TABLE');
dbms_datapump.start_job(h1);
DBMS_DATAPUMP.WAIT_FOR_JOB(h1, v_job_state);
DBMS_OUTPUT.PUT_LINE(v_job_state);
end;
除了这三个表,我想导出两个序列 (例如患者 _ 信息 _ 序列,患者 _ 服务 _ reg2_seq)。
请帮助完成这项任务。
谢谢
拉维·莱
专家解答
即使我们经常做出这样的假设,序列也不会 * 绑定 * 到表,因为我们经常为代理键每个表创建一个序列。
所以你需要有额外的过滤器,例如
所以你需要有额外的过滤器,例如
SQL> declare
2 h1 number;
3 v_schema VARCHAR2(32);
4 v_job_state varchar2(4000);
5 begin
6 v_schema:='SCOTT';
7 h1 := dbms_datapump.open(operation => 'EXPORT', job_mode => 'SCHEMA');
8 DBMS_DATAPUMP.add_file (handle => h1,filename => 'MYDUMP.dmp',directory => 'TEMP');
9 DBMS_DATAPUMP.add_file (handle => h1,filename => 'MYDUMP.log',directory => 'TEMP',filetype => DBMS_DATAPUMP.KU$_FILE_TYPE_LOG_FILE);
10 dbms_datapump.metadata_filter(handle => h1,name => 'SCHEMA_EXPR',value => '= ''SCOTT''');
11 dbms_datapump.metadata_filter(handle => h1,name => 'NAME_EXPR',value => 'IN (''EMP'',''DEPT'')', object_type => 'TABLE');
12 dbms_datapump.metadata_filter(handle => h1,name => 'NAME_EXPR',value => 'IN (''SEQ1'',''SEQ2'')', object_type => 'SEQUENCE');
13 dbms_datapump.start_job(h1);
14 DBMS_DATAPUMP.WAIT_FOR_JOB(h1, v_job_state);
15 DBMS_OUTPUT.PUT_LINE(v_job_state);
16 end;
17 /
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




