Witam. Chcę napisać procedurę, która wyświetli na stronie listę klientów z danego miasta. Wszystko jest robione w PSP.
Mam takie dwie tabele:
create table miasto2 (
id_miasta number(6,0) constraint miasto2_pk primary key,
nazwa varchar(25),
id_wojewodztwa number(6,0) constraint m2_wojewodztwa2_fk references wojewodztwa2(id_wojewodztwa)
);
create table klient (
id_klienta number(6,0) constraint klient_pk primary key,
imie varchar2(25),
nazwisko varchar(25),
pesel varchar(11),
id_miasta number(6,0) constraint k_miasto2_fk references miasto2(id_miasta)
);
Napisałem pierwszą procedurę i jest ok działa:
<%@ page language="PL/SQL" %>
<%@ plsql procedure="Lista_klientow" %>
<%!
CURSOR kursor IS select nazwa from miasto2;
%>
<HTML>
<HEAD>
<TITLE>Lista klientow</TITLE>
</HEAD>
<BODY>
<b>Lista klientow</b><br>
<b>Wybierz miasto</b>
<FORM ACTION="pokazklientow" METHOD="GET">
<SELECT NAME="tabela" SIZE="1">
<%
for i in kursor loop
%>
<OPTION><%= i.nazwa %>
<%
end loop;
%>
<br>
<INPUT TYPE="submit" VALUE="Pokaz">
</FORM>
</BODY>
</HTML>
I wszystko z tą procedurą jest ok. Wyświetla mi listę do rozwinięcia, z której mogę wybrać miasto. Ale gdy klikam pokaż otrzymuję komunikat: Not found The requested URL /plsql/pokazklientow was not found on this server
Coś jest nie tak z drugą procedurą, której przekazuje nazwę miasta, i chcę następnie wyświetlić klientów, którzy pochodzą z tego miasta. Mam coś takiego, ale niestety nie działa.
<%@ page language="PL/SQL" %>
<%@ plsql procedure="pokazklientow" %>
<%@ plsql parameter="tabela" type="VARCHAR2" default="NULL" %>
<%!
prawda BOOLEAN;
puste EXCEPTION;
czy_istnieje EXCEPTION;
ile NUMBER;
%>
<HTML>
<HEAD>
<TITLE>Lista klientow</TITLE>
</HEAD>
<BODY>
<b>DANE Z TABELI "<%= tabela %>"</b>
<br> <br>
<%
prawda := owa_util.tableprint('HR.' || tabela ,NULL,1,'*',NULL);
%>
<br> <br>
<a href="Lista klientow">Idz na strone glowna'</a>
<%
EXCEPTION
WHEN puste THEN %>
Podaj nazwe tabeli!
<% WHEN czy_istnieje THEN %>
Brak takiej tabeli!
</BODY>
</HTML>