Автоматизация запросов (парсер)
От: Аноним  
Дата: 26.12.05 12:08
Оценка:
Сразу хочу извиниться перед коллегами, за быть может не очень корректный заголовок.
Итак к делу:

Коллеги, нужно автоматизировать SQL запрсы следующим образом:
Прикладной программист пишет:
-- запрос А
Select Orders.Customers.Address, 
       Orders.Customers.City, 
       Orders.Customers.CompanyName, 
       Orders.OrderDate, Orders.RequiredDate 
from Orders


а парсер должен привести все это к виду:

-- запрос Б
select     Customers.Address,
    Customers.City,
    Customers.CompanyName,
    Orders.OrderDate,
    Orders.RequiredDate
    from Orders
left join Customers on Customers.ID = Orders.CustomerID


это самый простой вариант запроса, он может быть намного сложнее, т.е со многими вложенными таблицами и пр.
Парсер на C#.
Теперь попробую коротко описать логику работы парсера:
берем первый трэк запроса А:
Orders.Customers.Address,


разбираем его, получаем, что первый элемент трэка, это "Orders" — это FromTable, второй элемент трэка "Customers" — это приджойненная таблица и т.д. по всем трэкам.
Так вот меня интересует не готовое решение, а именно есть ди в C# классы (типа может быть Regex), которые помогут мне решить эту задачу грамотно и не дадут изобретать велосипед.
Всем спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.