2013-05-04 2 views
0

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

PS: Я знаком с Java.

+0

[Введение doc] (http://docs.oracle.com/cd/B28359_01/appdev.111/b28371/adobjint.htm) довольно тщательный. Что именно вам нужны разъяснения? – Mat

ответ

3

ФУНКЦИЯ позволяет вернуть значение с помощью инструкции RETURN.

ПРОЦЕДУРА не имеет такого возвращаемого значения. Однако можно возвращать значения, объявляя параметр как OUT, а не по умолчанию IN. Существует также IN OUT.

OBJECT в Oracle - это еще одна концепция и не имеет ничего общего с PROCEDURE AND FUNCTION и больше похожа на определение класса, поскольку вы знаете его на Java. Хотя это сравнение немного слабое. Существует некоторая полезная документация по объектам Oracle, например. эта ссылка http://docs.oracle.com/cd/B28359_01/appdev.111/b28425/obj_types.htm

ПАКЕТ Хотя вы не просили об этом, следует упомянуть. Пакет Oracle содержит набор функций и процедур (и т. Д.). Пакет состоит из декларации и тела пакета. То, что определено в объявлении пакета, может быть доступно извне, остальное является закрытым.

+0

Обратите внимание, что пакеты могут иметь функции, процедуры, переменные, записи, тип и подтипы, исключения (и, возможно, другие вещи, о которых я не думаю об этом), определенные в спецификации пакета, что делает их видимыми для пользователей пакета. –

+0

@BobJarvis хорошо пункт. – hol

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