2009-10-01 3 views

ответ

7

Oracle поддерживает объекты начиная с версии 8.0 базы данных (т. Е. Более десяти лет). Однако только до 9iR2 Oracle TYPE поддерживал пользовательские конструкторы и правильно реализовал полиморфизм. В 11g они добавили поддержку вызова Java-esque SUPER(). Но Oracle по-прежнему не поддерживает частные переменные или частные методы.

Как следствие, программирование OO действительно не вышло в мире Oracle. Люди используют типы для определения коллекций в PL/SQL, которые особенно полезны для bulk processing. Консолидированные функции также аккуратные и открывают an interesting little toolset.

Я использовал объектно-ориентированную функциональность Oracle, и, если честно, не так много сценариев, где имеет смысл выбирать типы по регулярному PL/SQL. Однако есть ситуации, когда это может быть полезно. Об этом я доложил до некоторой степени. Find out more.

редактировать

Как Tuinstoel заметил я связан с неправильной статьей на сайте Адриана. Они правильно угадали статью, на которую я хотел ссылаться, и теперь я изменил ссылку.

+1

+1 хороший блог, хороший ответ. – KLE

+0

+1 - хорошая работа по перегонке + ссылка на ответ на сложную тему – dpbradley

+1

Возможно, это лучшая ссылка http://www.oracle-developer.net/display.php?id=420? Речь идет о конвейерных функциях, объектах, полиморфизме и наследовании. – tuinstoel

0

Здесь у вас есть пример использования объектов Oracle в сочетании с наследованием и полиморфизмом: link text. APC ссылается на другую страницу на этом сайте, а также на конвейерные функции и объекты, но без наследования и полиморфизма.

А вот еще один: link text

(Том Кайт не нравится, но я его так или иначе, я все еще чувствую себя немного грустно, что обсуждение было в конце концов о в PL совершал/SQL вместо OO).

Смежные вопросы