Ich muss ein Verpackungssystem implementieren. Ich habe die folgenden Tabellen und Einfügungen in der Tabelle:SQL: Ergebnisse von Tabelle in einer gespeicherten Prozedur anzeigen
--a
create table client(
IdClient number(5),
NameClient varchar2(20),
Address varchar2(20),
primary key(IdClient)
);
create table tpackage(
IdPackage number(5),
IdClient number(5),
WLocation varchar2(20),
Courier varchar2(20),
DeliveryTime date,
Status varchar2(20),
primary key(IdPackage),
constraint fk_package foreign key(IdClient) references client(IdClient)
);
insert into client values(1,'Robb','Dimitrie Cantemir 1');
insert into client values(2,'Ion','Aleea Cascadei 15');
insert into client values(3,'Popan','Progresului 1');
insert into client values(4,'Pop','Carei 15');
insert into client values(5,'Grozavescu','Vasile Pirvan 1');
insert into client values(6,'Popa','Orsova 11');
insert into tpackage values(01,1,'Diminetii 2','Ilie','22-Jan-2017','in-transit');
insert into tpackage values(02,6,'Liege 1','Popescu','23-NOV-2016','delivered');
insert into tpackage values(03,4,'Crisana 3','Alexandru','20-Jan-2017','in-transit');
insert into tpackage values(04,3,'Torontal 14','Stefan','18-Dec-2016','delivered');
insert into tpackage values(05,2,'Carei 15','Ionescu','23-Feb-2017','in-transit');
ich eine gespeicherte Prozedur zu implementieren, die alle Paketinformationen für die Kunden als Parameter angegeben für die Transportpakete anzeigt. Dies ist, was ich bisher getan habe:
create or replace procedure displayPackages(i_IdClient number) as
begin
--SELECT t.Status from tpackage as t inner join client as c on t.IdClient = c.IdClient where t.Status='in-transit' and c.IdClient = IdClient and t.IdClient = IdClient and c.IdClient = t.IdClient;
select t.status,c.NameClient from tpackage t,client c where t.Status='in-transit' and c.IdClient = i_IdClient and c.IdClient = t.IdClient;
end displayPackages;
Aber das funktioniert nicht. Danke im Voraus!
Es wäre am besten, diese Joins in richtige ANSI-Joins zu ändern, Sie verwenden das veraltete Format. –
Definieren Sie "nicht funktioniert". Ich nehme an, Sie bekommen einen PLS-00428 Kompilierungsfehler, der Ihnen sagt, dass eine 'in'-Klausel erwartet wurde, aber wir sollten nicht raten müssen. Wenn Sie auf 12c sind, dann schauen Sie sich implizite Ergebnismengen an, wie in meiner Antwort hier: http://stackoverflow.com/questions/351489/is-it-possible-to-output-a-select-state-from-a- pl-sql-block/40360471 # 40360471 –