Как стать автором
Обновить

Комментарии 5

Обеими руками за реализацию бизнес-логики средствами СУБД, если эта субд — Oracle.
У меня там такая логика реализована, закачаешься. Причем на PL\SQL, с использованием типов, правда. Жалкое подобие ООП, которое предоставляет PL\SQL и Oracle, кое-что может. Это резко увеличивает скорость разработки и уменьшает сложность системы, если, конечно, в этом разбираться.
Массивной логике на PL\SQL часто присущи проблемы с тестированием и дальнейшей поддержкой, однако, в любом случае, разработчики Oracle — молодцы, возможности этой СУБД поражают.
Некоторым людям только руки развяжи — всё приложение в СУБД напишут :D

Всё же, мне кажется парсинг XML — не задача СУБД
Штука бесспорно хорошая, но вот быстродействие оставляет желать лучшего.

Еще нужно помнить про то, что выполнять какие-то действия с XMLType, полученным из большого Clob (больше 4000 символов) может оказатся невозможным. Выпадаешь в осадок, когда


-- и прочие XML функции
select existsNode(XmlType(clob_value), '...') from table

работает и возвращает результат, а


select * from table
-- и прочие XML функции
where existsNode(XmlType(clob_value), '...') = 1

выдает ошибку


ORA-06502: PL/SQL:  ошибка числа или значения
ORA-06512: на  "SYS.XMLTYPE", line 272
ORA-06512: на  line 1
06502. 00000 -  "PL/SQL: numeric or value error%s"
*Cause:    An arithmetic, numeric, string, conversion, or constraint error
           occurred. For example, this error occurs if an attempt is made to
           assign the value NULL to a variable declared NOT NULL, or if an
           attempt is made to assign an integer larger than 99 to a variable
           declared NUMBER(2).
*Action:   Change the data, how it is manipulated, or how it is declared so
           that values do not violate constraints.

из которой еще и не понять, в чем же на самом деле проблема. Спрашивается — какого хрена?


Причем, сколько не искал, не нашел решения, как все же сделать проверку существования узла в большой XML.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории