0

SQL 更新ステートメントを実行していますが、デバイス名を順番に更新する必要があります。

デバイス名が S01 で終わる場合は、最初に名前が変更され、次に p01 のようになります。

@order = qw(s01 s02 p02 r02);

While select * from #get device_name, suffix, etc

Foreach $i (@order) {
  If ($suffix eq $i) {
     Update table 

これの問題は、接尾辞と一致しない行をスキップすることです。選択出力をハッシュに結び付けようとしましたが、正しくやっているとは思いません。ハッシュは、単純でない限り理解するのが難しいです。

4

1 に答える 1

0

このソリューションはgrep、必要な名前を除外するために使用します。

my @order = qw(s01 s02 p02 r02);
my @device_names = qw(dev1s01 dev2s02 dev3p02 dev4r02);

foreach my $suffix (@order) {
    foreach my $device (grep /$suffix$/, @device_names) {
        # update table
    }
}
于 2013-01-30T05:07:48.180 に答える