接到一个需求,将正式库的表的结构及索引导入到测试库中,数据及触发器、存储过程等都不要。
这个需求的重点是得到表的列表,9i后提供sys_connect_by_path函数,利用这个函数可以轻而易举地得到这个列表了;
--得到exp脚本
select 'exp test/test@wai file=d:sharedmptest.dmp tables='||max(substr(sys_connect_by_path(table_name,','),2))||' constraints=no rows=n log=d:sharedmpexp.log' exp from (select table_name,rownum rn from user_tables where table_name not like '%$%') start with rn=1 connect by rn=rownum;
--得到imp脚本
select 'imp test/test@nei file=d:sharedmptest.dmp fromuser=souchang2 touser=test ignore=y tables='||max(substr(sys_connect_by_path(table_name,','),2))||' constraints=no rows=n log=d:sharedmpimp.log' imp from (select table_name,rownum rn from user_tables where table_name not like '%$%') start with rn=1 connect by rn=rownum
执行这两个sql得到的脚本即可
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/231499/viewspace-63708/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/231499/viewspace-63708/