我在导入数据时使用remap_data选项的问题。 场景:
create table test(fname varchar(20), lname varchar(20),fullname varchar(40));
insert into test values('govind', 'verma','');
错误地我忘了以全名插入数据(我有大量数据所以我无法执行更新操作所以我去了数据泵)我使用expdp导出数据但是在加载时我想执行操作使用remap_data选项以这种方式输入该重映射函数应该是fname和lname但是想在
中修改fullname=concat(fname,':',lname)
每行。可能吗 ?
答案 0 :(得分:1)
如果全名始终是名字和姓氏的串联,而不是尝试手动提供和维护,则可以使用a virtual column代替:
alter table test drop column fullname;
alter table test add fullname generated always as (fname||' '||lname);
select * from test;
FNAME LNAME FULLNAME
----------- ----------- ------------------
govind verma govind verma
您无需更新现有行或导出/导入;查询时自动生成虚拟值。根据它的使用方式,您可能会像在任何其他列上一样添加索引。