Разработка клиент-серверных приложений с использованием технологий Oracle. Семенова И.И. - 63 стр.

UptoLike

Составители: 

62
дании процедуры и функции должны быть определены: имя объекта, пере-
чень и типы параметров и логика работы процедуры или функции, описан-
ные на языке PL/SQL.
Чтобы создать процедуру или функцию, необходимо иметь системные
привилегии CREATE PROCEDURE. Для создания процедуры, функции
или пакета в схеме, отличной от текущей схемы пользователя, требуются
системные привила на CREATE ANY PROCEDURE. После определения
имени новой процедуры или функции необходимо задать ее имена, типы и
виды параметров. Для каждого параметра должен быть указан один из ви-
дов параметра - IN, OUT или IN OUT. Вид параметра IN предполагает, что
значение параметра должно быть определено при обращении к процедуре
и не изменяется процедурой.
Попытка изменить в теле процедуры параметр
вида IN приведет к со-
общению об ошибке. Вид параметра OUT предполагает изменение значе-
ния параметра в процессе работы процедуры, то есть параметр вида OUT -
это возвращаемый параметр. Параметр IN
OUT - это параметр, которому
при вызове должно быть присвоено значение, которое может быть измене-
но в теле процедуры. Параметры процедур или функций имеют виды, при-
своенные по умолчанию.
Дополнительно к определениям, необходимым для процедуры, в опре-
делении функции должен быть тип данных единственного возвращаемого
функцией значения. Возврат значения функции выполняется командой
PL/SQL RETURN. Оператор определения процедуры Oracle использует
следующий синтаксис:
CREATE [OR REPLACE] PROCEDURE
[имя_схемы.]имя_процедуры
[(имя_параметра [{IN | OUT | IN OUT}] тип_данных
[, имя_параметра [{IN | OUT | IN OUT}] тип_данных...] )]
{IS | AS}
программа_нa_PL/SQL
Напоминание. При классическом описании синтаксиса { } обозначают
обязательный выбор одной из альтернатив, | – разделяет альтернативы, [ ] –
указывают на необязательные параметры, которые могут быть опущены.
Ключевое слово OR REPLACE указывает на безусловное замещение
старого текста процедуры. Если ключевое слово OR REPLACE не указано,
и процедура определена, то замещения старого значения кода процедуры
не происходит, и возвращается сообщение об ошибке.