Помощь с рег выражнением - нужно поделить на строки

  • Автор темы CrazyHacKeRs
  • Дата начала

CrazyHacKeRs

Guest
Помощь с рег выражнением - нужно поделить на строки

В результате преобразования XML +XSLT получилось куча запросов - для нектороых документов порядка 1-3 мег - в одну строку....

Запросы разделяются точкой-запятой.
Есть глюки, по загрузке в БД,подозреваю что такой объем просто не переваривается (postgres), отчего решил делать все по одной шт.



Помогите сделать правильный сплит этой штуки на части
[SQL]
SELECT aaaaa; SELECT bbbbb; итд
[/SQL]

причем могут попдаться INSERT'ы с точкой-запятой внутри значений
[SQL]
INSERT .... VALUES ('aaaaa;bbbb','...')
[/SQL]

желательно бы это тоже учитывать
 

csa

Guest
1. попробуй скормить консольному клиенту. насчет psql не знаю, а, например, mysql съедает на ура. попробуй

2. при преобразовании ты можешь вставлять между запросами свой разделитель?
 

CrazyHacKeRs

Guest
Originally posted by csa
2. при преобразовании ты можешь вставлять между запросами свой разделитель? [/B]
Могу, только я не знаю какой символ используется в данных, от того и проблемы
 

CrazyHacKeRs

Guest
Приведенный регекс режит значения внутри!!!

Например

Код:
...VALUES ('& 12 3')
----
Редактирую в третий раз- вместо амперсанда в оригинале стоит у меня слово AMP после которого точка запятой
 

CrazyHacKeRs

Guest
Ну так этот вариант сработает, насколько я понимаю, если каждый запрос на новой строчке?
 

CrazyHacKeRs

Guest
Мне нужно это делать из под программы (на автомате)
Плюс ко всему, файлов очень много получается > 400 шт.
 

fixxxer

К.О.
Партнер клуба
Нихх не понял. Из под какой программы, и при чем тут это ваще?
 

CrazyHacKeRs

Guest
Я понял так, что ты предлагаешь ззагружать эти SQL через внешние инструменты.

Меня это вариант не устраивает, та к как приедтся делать вручную, а процесс нужно автоматизировать.

Вкратце, это синхронизация двух баз хитрым способом.
Сперва идет считывание всей необходимой инфы, генерация XML данных. (WIN)

Второй этап, это переобразование (формирование SQL запросов для промежуточной БД, а также загрузка)
(Unix, PHP)

После того как информация загруженна в п2, делаются некоторые манипуляции - в резульатте чего идет окончательный перенос из БД2 в БД3
 

CrazyHacKeRs

Guest

ИЗВИНИ!!! НЕПРАВИЛЬНО ПРОЧИТАЛ ТВОЕ СООБЩЕНИЕ!!!

ТЕПЕРЬ ПОНЯЛ ЧТО ТЫ ХОТЕЛ СКАЗАТЬ :)
 

CrazyHacKeRs

Guest
А как этим пользоваться? Маленький пример хотя бы, а то док нет....
 

DEBRIS

Guest
У меня вот тоже заморока с регуярными выражениями, но там их полно, так что я решил rtfm,rtfm,rtfm! Дайте пожалуйста ссылку на какой-нибудь учебник/статью по регулярным выражениям и функциям, чтобы оно было профессионально, кратко написанно, но давало максимум инфомации от начала до конца. Ну или вроде того. =)
 

ForJest

- свежая кровь
DEBRIS php.spb.ru - там про реги 2 или 3 статьи и хорошие примеры.
 
Сверху