- 论坛徽章:
- 0
|
主要代码:
# 读取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语句没起作用?
麻烦大家给我看看,我百思不得其解,没思路了.
谢谢! |
|