免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2344 | 回复: 7
打印 上一主题 下一主题

求一个perl应用 [复制链接]

论坛徽章:
1
丑牛
日期:2015-01-07 15:25:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-06-19 22:44 |只看该作者 |倒序浏览
小弟刚入手开始学perl,摔了不少跟头,现在老大要我做一个这样的perl,要求,对一个有 几千个表的一个sql脚本中的表做一些选择,有的表有用处,有的表没用处,有用的表的表名我已经取出放在一个txt文件中,但现在需要实现通过这个txt文件中的表名来匹配到sql脚本中相关的创建脚本并输出到另外一个文件中 请问如何实现,谢谢了

[ 本帖最后由 phiazat 于 2009-6-19 22:45 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2009-06-19 22:56 |只看该作者
你 导出 不成么?

论坛徽章:
1
丑牛
日期:2015-01-07 15:25:00
3 [报告]
发表于 2009-06-19 23:06 |只看该作者
楼上的意思是说用toad之类的工具来导出数据库的schema嘛?

论坛徽章:
0
4 [报告]
发表于 2009-06-19 23:08 |只看该作者
你不就是要那个 create table 的脚本么?不用 perl 也可以吧?

论坛徽章:
1
丑牛
日期:2015-01-07 15:25:00
5 [报告]
发表于 2009-06-19 23:31 |只看该作者
表太多了,在toad上选择起来很麻烦的,我找的眼晕啊,而且还有后续的constraints,indexes,views之类的脚本,因为我需要做一款产品的数据库的安装文件,脚本需要纯静的,需要做一些处理,所以需要挑选,最好用一个perl脚本来实现,这样容易多了

论坛徽章:
0
6 [报告]
发表于 2009-06-19 23:45 |只看该作者
先把 create 的找出来,再一个一个检验一下?

m{create\s+table\s+\w+\s+\(.*?\)}mgi;

[ 本帖最后由 cobrawgl 于 2009-6-20 06:50 编辑 ]

论坛徽章:
1
丑牛
日期:2015-01-07 15:25:00
7 [报告]
发表于 2009-06-19 23:55 |只看该作者

回复 #6 cobrawgl 的帖子

我的思路是,把所有有用的表的表名放在一个数组@tabname中,然后foreach@tabname从@tabname[0]一直取到最后一个表名,循环匹配表m{create\s+table\s+\(.*?\)}gi;一只匹配到sql脚本的最后,
现在的问题是:1.我不知道如何控制一个数组的开始,结尾;
                      2.嵌套循环时候不知道如何处理,思路没有想清楚;
                      3.$1 的这样传值不知如何操作。

论坛徽章:
0
8 [报告]
发表于 2009-06-20 09:07 |只看该作者
数组的开始结尾不用关心,用foreach就可以了
嵌套循环哪里不清楚?算法清楚程序就清楚
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP