Реферат: Использование пакета Web - Oracle -Web WOW

между собой, различные параметры разделяются амперсандом '&':

<название_параметра1>= <значение_параметра1>& <название_параметра2>= <значение_параметра2>

Название параметра должно совпадать с названием параметра вызываемой процедуры. Число параметров должно в точности соответствовать числу параметров процедуры. Если хотя бы одно из этих требований не соблюдено, Вы получите сообщение об ошибке. Порядок указания параметров значения не имеет. Большие и маленькие буквы в названии параметров равнозначны.

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

Пример:
http://www.cnit.nsu.ru/cgi-bin/wow.win/example.test?answer=no

Исходя из описанного механизма работы пакета WOW можно сформулировать основные требования к PL/SQL - процедурам, обрабатывающим запросы от WWW - сервера.

  1. Все входные переменные, передающиеся через WOW в процедуру всегда имеют тип varchar2. Если Вы хотите использовать какой - либо другой тип данных, необходимо использовать функции преобразования из varchar2.
  2. В пакете htp отсутствуют функции вывода начала и конца HTML - документа. Поскольку многие современные броузеры интерпретируют текст без обрамляющих тегов <HTML> ... </HTML> как преформатированный, необходимо прямо задавать эти теги в начале и конце документа.

Пример пакета example :
Create or Replace package example is
procedure test(answer in Varchar2);
end;
/
Create or Replace package body example is
procedure test(answer in Varchar2) is
ответ varchar2(3);
cursor c_man(ans in varchar2) is select Фамилия from Результаты_опроса where Ответ=ans order by Фамилия;
begin
-- Начало документа
htp.p('<HTML>');
-- Вывод названия страницы и заголовка
if answer = 'no'
then
ответ:='НЕТ';
htp.htitle('Фамилии людей, ответивших отрицательно');
else
ответ:='ДА';
htp.htitle('Фамилии людей, ответивших положительно');
end if;
htp.olistopen;
-- Начало нумерованного списка
for man in c_man(Ответ) loop
-- Элемент списка
htp.item(man.Фамилия);
end loop;
-- Конец нумерованного списка
htp.olistclose;
-- Конец документа
htp.p('</HTML>');
end;
end;
/

При этом подразумевается что в схеме WWW Oracle находится таблица примерно следующей структуры:

Create table Результаты_опроса(Фамилия varchar2(30),
Имя varchar2(14),
Отчество varchar2(20),
Ответ varchar2(3));

Обращаться к пакету WOW можно и из форм HTML. Ниже приведен пример обращения к тому же пакету example из простейшей формы.

<HTML>
<HEAD>
<TITLE>Тестовая форма</TITLE>
</HEAD>
<BODY>
<H1>Тестовая форма</H1>
<FORM ACTION="http://www.cnit.nsu.ru/cgi-bin/wow.win/example.test">
Введите ответ:<INPUT NAME="answer">
<INPUT VALUE="Найти" TYPE="SUBMIT">
</FORM>
</BODY>
</HTML>

7.6 Спецификация процедур пакета htp

procedure title(ctitle in varchar2)

- выводит название документа (теги <TITLE> )

procedure htitle(ctitle in varchar2)

- выводит название документа и повторяет его в заголовке первого уровня (теги <TITLE >, <H1> )

procedure header(nsize in integer, cheader in varchar2)

- выводит заголовок уровня nsize (теги <H1> ... <H6> )

procedure url(curl in varchar2, cname in varchar2)

- формирует cname как гипертекстную связь, указывающую на curl (теги <A HREF> ).

procedure gif(curl in varchar2)

- включает в документ картинку, путь до которой curl (теги <IMG> ).

procedure gif(curl in varchar2, calign in varchar2)

- включает в документ картинку, путь до которой curl с выравниванием, определяемым параметром calign (теги <IMG> ).

procedure bold(ctext in varchar2)

- выводит текст ctext жирным шрифтом (теги <B> ).

procedure italic(ctext in varchar2)

- выводит текст ctext шрифтом italic (теги <I> )

procedure item(cval in varchar2)

- выводит cval как элемент списка (теги <ITEM> ).

К-во Просмотров: 518
Бесплатно скачать Реферат: Использование пакета Web - Oracle -Web WOW