Реферат: Использование пакета 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 - сервера.
- Все входные переменные, передающиеся через WOW в процедуру всегда имеют тип varchar2. Если Вы хотите использовать какой - либо другой тип данных, необходимо использовать функции преобразования из varchar2.
- В пакете 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> ). |
К-во Просмотров: 554
Бесплатно скачать Реферат: Использование пакета Web - Oracle -Web WOW
|