Oracle поддерживает объекты, начиная с версии 8.0 базы данных (то есть более десяти лет). Однако только в 9iR2 Oracle TYPE
поддерживал определяемые пользователем конструкторы и правильно реализовывал полиморфизм. В 11g добавлена поддержка вызова Java-esque SUPER()
. Но Oracle все еще не поддерживает частные переменные или частные методы.
Как следствие, ОО-программирование в мире Oracle не получило большого распространения. Люди используют типы для определения коллекций в PL / SQL, которые особенно полезны для массовой обработки . Конвейерные функции также аккуратны и открывают интересный маленький набор инструментов .
Я использовал объектно-ориентированную функциональность Oracle, и, если честно, не так много сценариев, в которых имеет смысл выбирать типы по сравнению с обычным PL / SQL. Однако в некоторых ситуациях это может быть полезно. Я писал об этом довольно долго. Узнайте больше.
редактировать
Как прокомментировал Tuinstoel, я ссылался на неправильную статью на сайте Адриана. Они правильно угадали статью, на которую я хотел сослаться, и теперь я соответственно изменил ссылку.