rsv
Новичок
Хитромудрое регулярное выражение
Есть строка. Это SQL запрос
Этот запрос к БД MYSQL.
Есть другая БД - MSSQL.
Ее структура полностью совпадает с БД в MYSQL.
Проблема: некоторые запросы к MSSQL не проходят, потому, что в некоторых таблицах БД есть поля, названия которых, совпадают с ключевыми словами в MSSQL.
Пример запроса который не проходит:
UPDATE nuke_counter SET count=count+1 WHERE (type='total' AND var='hits') OR (var='Netscape' AND type='browser') OR (var='Windows' AND type='os')
count это ключевое слово в MSSQL
Этот же запрос проходит в таком виде:
UPDATE nuke_counter SET [count]=[count]+1 WHERE (type='total' AND var='hits') OR (var='Netscape' AND type='browser') OR (var='Windows' AND type='os')
т.е. если название поля, которое совпадает с ключевым словом, указать в квадратных скобках, тогда все нормально.
Вопрос: реально ли написать регулярное выражение для корректировки запросов? Список ключевых слов имеется.
Сначала думал, что это элементарно, а потом подумал и почему то решил, что это не так уж и просто.
Есть строка. Это SQL запрос
Этот запрос к БД MYSQL.
Есть другая БД - MSSQL.
Ее структура полностью совпадает с БД в MYSQL.
Проблема: некоторые запросы к MSSQL не проходят, потому, что в некоторых таблицах БД есть поля, названия которых, совпадают с ключевыми словами в MSSQL.
Пример запроса который не проходит:
UPDATE nuke_counter SET count=count+1 WHERE (type='total' AND var='hits') OR (var='Netscape' AND type='browser') OR (var='Windows' AND type='os')
count это ключевое слово в MSSQL
Этот же запрос проходит в таком виде:
UPDATE nuke_counter SET [count]=[count]+1 WHERE (type='total' AND var='hits') OR (var='Netscape' AND type='browser') OR (var='Windows' AND type='os')
т.е. если название поля, которое совпадает с ключевым словом, указать в квадратных скобках, тогда все нормально.
Вопрос: реально ли написать регулярное выражение для корректировки запросов? Список ключевых слов имеется.
Сначала думал, что это элементарно, а потом подумал и почему то решил, что это не так уж и просто.