Доброй ночи.
Имеется пачка неких SQL-INSERT'ов из которых методом научного парсинга необходимо вычленить следующее:
- Имена таблиц, куда инсёртятся данные (простите за японский), включая OPENQUERY,
- Откуда данные засасываются для инсёртов. Включая те же OPENQUERY плюс подзапросы, JOIN (включая кросс-соединения через запятую, вплоть до таблиц).
Все выражения — однострочные, без лишних пробелов, табов, комментариев. В парсер поступают по одному.
Вот здесь:
regex101.com/r/iS2fK9/1 моя копрокодистая реализация, но задумка должна быть ясна + пример запроса.
Все бы в «реализации» хорошо, да только затягивает она либо первый FROM с его таблицей, либо последний (JOIN) — если использую жадную квантификацию.
Есть ли способы это победить? Или я, может, вообще не теми средствами взялся за проблему?