私の質問は多くの人にとって単純なはずです。私は次のSQLを持っていて、正規表現を使用してテーブル名を取得したいと思います。
SELECT name, age FROM table1
この式を使用して、私はそれを大丈夫にすることができます
Pattern p = Pattern.compile(".*FROM\\s+(.*?)($|\\s+[WHERE,JOIN,START\\s+WITH,ORDER\\s+BY,GROUP\\s+BY])", Pattern.CASE_INSENSITIVE);
Matcher result = p.matcher(pSql);
if (result.find()) {
lRetorno = result.group(1);
}
ただし、テーブル名にスキーマ名(xyz.table1)が含まれている場合、私の式はすべてをもたらします。私の質問は...スキーマ/所有者なしでテーブル名のみを返すようにこのクエリを変更する必要があるのは何ですか?
どんな助けでも非常に高く評価されますよろしく
ラファエル・モイタ