Внедрение OOPS в Oracle - PullRequest
       19

Внедрение OOPS в Oracle

1 голос
/ 01 октября 2009

Можете ли вы дать мне некоторое представление о реализации OOPS в Oracle?

Ответы [ 3 ]

7 голосов
/ 01 октября 2009

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

Как следствие, ОО-программирование в мире Oracle не получило большого распространения. Люди используют типы для определения коллекций в PL / SQL, которые особенно полезны для массовой обработки . Конвейерные функции также аккуратны и открывают интересный маленький набор инструментов .

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

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

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

2 голосов
/ 01 октября 2009

Это очень большая тема для вопроса на форуме. См. Руководство разработчика по объектам и базам данных Oracle Database *1002*, в котором приведены сотни страниц этой темы.

0 голосов
/ 01 октября 2009

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

А вот еще один: текст ссылки

(Тому Кайту это не понравилось, но я все равно его выкладываю, мне все еще немного грустно, что в конце дискуссия была о коммитах в PL / SQL вместо ОО-программирования).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...