if you want to use the locs as parameters:
Code:
#!/usr/bin/perl -w
use DBI;
use strict;
my $instance = 'mdip1';
my $data_source = "dbi:Oracle:$instance";
my $user = "abc";
my $password ="abc";
my $dbh = DBI->connect($data_source, $user, $password, {
RaiseError => 1}) or die $DBI::errstr;
my $sth = $dbh->prepare( q{ UPDATE stsc.sku
SET p_abc = 'D',
p_abcunitstotqty = 0
WHERE loc = ?
AND p_manualparameters = 0
AND p_abc in ('A','B','C') }) or die $dbh->errstr();
for my $loc(@ARGV){
$sth->execute($loc) or die $dbh->errstr();
}
$dbh->disconnect;
Usage: skript.pl <loc1> <loc2> <loc3> ...
And if you want to read from a file:
Code:
#!/usr/bin/perl -w
use DBI;
use strict;
my $instance = 'mdip1';
my $data_source = "dbi:Oracle:$instance";
my $user = "abc";
my $password ="abc";
my $dbh = DBI->connect($data_source, $user, $password, {
RaiseError => 1}) or die $DBI::errstr;
my $sth = $dbh->prepare( q{ UPDATE stsc.sku
SET p_abc = 'D',
p_abcunitstotqty = 0
WHERE loc = ?
AND p_manualparameters = 0
AND p_abc in ('A','B','C') }) or die $dbh->errstr();
open(my $fh,"<",$ARGV[0]) or die $!;
while(my $line = <$fh>){
chomp $line;
$sth->execute($line) or die $dbh->errstr();
}
close $fh;
$dbh->disconnect;
usage: skript.pl <filename>