免费注册 查看新帖 |

Chinaunix

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

请大家帮忙,看看这个小程序,错在哪里? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-04-13 12:29 |只看该作者 |倒序浏览
主要代码:
# 读取SQL模板文件每一行内容,进入循环处理
while (<RFILE>
{
                chomp($_);
                ($flag, $sql, @columns) = split(/:/, $_);
                print $flag, "\n", $sql, "\n";

                if ( $flag == 1 )
                {
                        print <DATA>, "\n";
                        # 取出每一个一级分行号, 与模板文件中的SQL语句进行拼接
                        while ( <DATA> )
                        {
                                chomp;
                                print WFILE $sql, $_, " ", @columns, "\n";
                                print "ok", "\n";
                        }
                }
                else
                {
                        print WFILE $sql, "00000 ", @columns, "\n";
                }
}

# 关闭文件句柄
close(RFILE);
close(WFILE);

__DATA__
40004
40005
40142
40202

<RFILE>读取的文件的内容:
1:create table D_AAS_ASTBGL_ test1 VARCHAR2(10), test2 VARCHAR2(20) );
1:create table D_AAS_ASTPAC_ test1 VARCHAR2(10), test2 VARCHAR2(20) );
1:create table D_AAS_ASTFIX_ test1 VARCHAR2(10), test2 VARCHAR2(20) );
0:create table D_AAS_ASTSTC_ test1 VARCHAR2(10), test2 VARCHAR2(20) );
0:create table D_AAS_ASTIRT_ test1 VARCHAR2(10), test2 VARCHAR2(20) );

执行代码的log输出:
1
create table D_AAS_ASTBGL_
40004
40005
40142
40202
1
create table D_AAS_ASTPAC_

1
create table D_AAS_ASTFIX_

0
create table D_AAS_ASTSTC_
0
create table D_AAS_ASTIRT_
Completed!

问题:  为什么就只处理了第一行呢??? 第2行和第3行也需要处理啊?为什么没处理呢? if语句没起作用?
麻烦大家给我看看,我百思不得其解,没思路了.
谢谢!

论坛徽章:
0
2 [报告]
发表于 2012-04-13 12:31 |只看该作者
好像 __DATA__ 里的数据,取过一次就没了?

论坛徽章:
0
3 [报告]
发表于 2012-04-13 13:02 |只看该作者
哎,看来大家中午都在休息啊,没空理我.
我解决了.不再使用DATA,把DATA中的数据,放到外面的文件里.
同时在读完这部分的数据之后,使用seek函数再把文件中的位置指针调回文件开头.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP