Oracle クエリで字句解析を実行し、perl でクエリを (句に基づいて) さまざまな部分に分割する必要があります。たとえば、次のことを考慮してください。
Select deleteddate,deletedby from temptable where id = 10;
印刷する必要があります
select : deleteddate , deletedby
from : temptable
where : id = 10
私はこのコードスニペットを使用しました:
my $parser= SQL::Statement->new();
$parser->{PrinteError}=1;
my $query = SQL::Statement->new("select deleteddate,deletedby from temptable where id =10",$parser);
my @columns = $query->columns();
print $columns[0]->name();
これはdeleteddateを出力しますが、select句内でサブクエリを指定すると失敗します:
Select deleteddate,deletedby,(select 1+1 from dual) from temptable where id = 10;
正しい方向に向けてください。
ありがとう。