CREATE OR REPLACE PROCEDURE Proc_1 IS
nRtg NUMBER (4) := 120;
vVal VARCHAR(20) := ‘Tokyo’;
BEGIN
MyProc(nRtg, vVal);
END myProc;
/
При именованном представлении для каждого аргумента указывается как формальный, так и фактический параметры. Это позволяет при желании установить собственный порядок аргументов.
CREATE OR REPLACE PROCEDURE Proc_1 IS
nRtg NUMBER (4) := 120;
vVal VARCHAR(20) := ‘Tokyo’;
BEGIN
MyProc(p_Par2 => vVal, p_Par1 => nRtg);
END myProc;
/
9.1. Почему хранимые процедуры называются «хранимыми»?
9.2. Где хранятся хранимые процедуры?
9.3. Можно ли хранимые процедуры вызывать из других программ?
9.4. Сколько операторов RETURN может быть помещено в тело функции?
9.5. Какие виды параметров хранимых процедур вам известны?
9.6. Требуется ли для параметров типа CHAR и VARCHAR2 в хранимых процедурах указывать длину?
9.7. Если переменная определена во внутреннем блоке, распространяется ли область ее действия на внешний блок?
9.8. Если переменная определена во внешнем блоке, всегда ли она видна во внутреннем блоке?
9.9. Можно ли использовать тип %TYPE для параметров хранимых процедур?
9.10. Нужно ли указывать круглые скобки при вызове процедур и функций PL/SQL, если у них нет параметров?
10. Стандартные пакеты PL/SQL
В составе СУБД Oracle поставляется набор стандартных пакетов, разработанных в корпорации Oracle, которые можно использовать в программных приложениях. Все эти пакеты принадлежат пользователю SYS, однако для них созданы общие синонимы, поэтому пакеты можно использовать, не предваряя имя префиксом SYS. Один из таких пакетов описан в следующем разделе. Для изучения функциональных возможностей других стандартных пакетов следует обратиться к рекомендованной литературе.
10.1. Пакет DBMS_OUTPUT
Пакет DBMS_OUTPUT очень удобен при отладке программ. У него имеется ограничение на длину выходной строки, которая не должна превышать 255 символов. Однако использование стандартной функции SUBSTR позволяет обойти это ограничение, что будет продемонстрировано в примерах.
В состав пакета DBMS_OUTPUT входит несколько процедур и функций, но наиболее полезной для отладки является процедура PUT_LINE. Она осуществляет вывод на экран тестовой строки, заданной в качестве входного параметра. Приведенный ниже пример демонстрирует вывод приветствия.
BEGIN
DBMS_OUTPUT. PUT_LINE (‘Hello, World!’);
END;
/
Следующий пример показывает, как с помощью функции SUBSTR выводить строки длиной более 255 символов. Функция SUBSTR возвращает подстроку заданной длины. Она имеет три аргумента: 1) строка, из которой выбирается подстрока; 2) начальная позиция подстроки в строке и 3) длина подстроки.
DECLARE
v_string VARCHAR2(500);
v_length NUMBER(10);
BEGIN
SELECT text, text_length INTO v_string, v_length
FROM dba_views
WHERE view_name = ‘DBA_COL_PRIVS’;
DBMS_OUTPUT.PUT_LINE( ‘View DBA_COL_PRIVS is ’ || v_length || ‘ bytes’ );
DBMS_OUTPUT.PUT_LINE( ‘TEXT’ );
DBMS_OUTPUT.PUT_LINE( ‘====’ );
DBMS_OUTPUT.PUT_LINE( SUBSTR(v_string, 1, 250) );
DBMS_OUTPUT.PUT_LINE( SUBSTR(v_string, 251, 250) );
END;
/
Из примера легко понять, как строка v_string длиной 500 символов выводится двумя подстроками по 250 символов каждая.
11. Интегрированная среда Oracle 10gXE
11.1 Как начать работу с Oracle 10gXE
Прежде чем начать работу с СУБД Oracle 10g XE, ее нужно установить на компьютере. Процесс установки (инсталляции) описан в файле Инсталляция.doc. Если вы правильно выполнили все действия, описанные в этом файле, то инсталляция завершится открытием Web-браузера с окном регистрации, как показано на рис. 1.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.