Комментарии 5
Обеими руками за реализацию бизнес-логики средствами СУБД, если эта субд — Oracle.
У меня там такая логика реализована, закачаешься. Причем на PL\SQL, с использованием типов, правда. Жалкое подобие ООП, которое предоставляет PL\SQL и Oracle, кое-что может. Это резко увеличивает скорость разработки и уменьшает сложность системы, если, конечно, в этом разбираться.
У меня там такая логика реализована, закачаешься. Причем на PL\SQL, с использованием типов, правда. Жалкое подобие ООП, которое предоставляет PL\SQL и Oracle, кое-что может. Это резко увеличивает скорость разработки и уменьшает сложность системы, если, конечно, в этом разбираться.
Штука бесспорно хорошая, но вот быстродействие оставляет желать лучшего.
Еще нужно помнить про то, что выполнять какие-то действия с 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.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Разбираем XML средствами Oracle database