Использование языка PL/SQL при работе с базой данных Oracle

Ответы на контрольные вопросы

1.      Из каких частей состоят хранимые процедуры и функции?

Хранимые процедуры

            Процедура состоит из двух основных частей: спецификации и тела. Спецификация процедуры (procedure specification) включает в себя имя процедуры и описание ее входных и выходных данных.

Тело процедуры является блоком PL/SQL-кода, в котором запрограммированы вычисления.

Хранимые функции

Спецификация функции отличается от спецификации тела тем, что в конце пишется return <тип данных возвращаемого значения>.

2.      В чем заключается главное различие между процедурой и функцией?

Главное различие между процедурой и функцией в том, что функция предназначена для возврата значения, которое может использоваться в SQL-операторе.

3.      Как специфицируются процедура и функция?

<Имя> (<имя_параметра1> <слова IN, OUT> <тип параметра><значание по умолчанию>, …) <return и тип возвращаемого значения для функций>

4.      Как объявляются формальные параметры процедуры или функции?

(<имя_параметра1> <слова IN, OUT> <тип параметра><значание по умолчанию>

5.      Как вызывается процедура или функция?

• Типы данных фактических параметров должны совпадать с типами данных соответствующих формальных параметров или допускать преобразование в них.

• Фактические параметры должны быть указаны для всех формальных параметров, не имеющих значений по умолчанию.

При вызове процедуры без каких-либо параметров можно указывать только ее имя, со скобками или без скобок:

имя_процедуры();

или

имя_процедуры;

Для вызова функций используется такой же синтаксис за одним исключением: если функция вызывается как часть выражения, точка с запятой не ставится.

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

имя_процедуры(факт_парам_1,

факт_парам_2,

Ссылка на основную публикацию
Adblock detector