如何在unix中同时运行3 while循环,并在得到输出后立即将每个循环的输出更新到数据库

时间:2015-01-31 15:52:30

标签: unix aix

我有一个必须从数据库中获取信息的程序。在unix中执行所需命令后,o / p必须更新回到数据库。从3个表中获取信息。只要我得到每个循环的输出,就必须将输出更新到一个表。

    `#{Here the loop must run untill i get values from table}
     x=0 
     while [ $x = '0' ]
      do
      x=`sqlplus -s username/pswd@server << EOF
     set head off
      select min(col1),max(col1) from table
      /
       EOF`
     echo $x|read a b
   x=$a+$b
 done
         #{here functions based on a & b value }
         #{below to update table}
         sqlplus -s username/pswd@server<< EOF
         update table2 set col3 where ..
          commit;

      #similar while loop

     y=0 
     while [ $y = '0' ]
    do
      x=`sqlplus -s username/pswd@server << EOF
   set head off
       select min(col1),max(col1) from table3
    /
       EOF`
       .
       .

1 个答案:

答案 0 :(得分:1)

您可以将每个循环放在一个函数中,然后在后台调用这些函数 功能循环1 {...}
功能循环2 {...}
功能循环3 {...}
loop1&amp;
loop2&amp;
loop3&amp;