Definierte Typen verwenden

Monarch

Benutzer
Beiträge
17
Hallo Experten,

ich würde gerne definierte Typen verwenden komme aber nicht dahinter!

Als erste habe ich folgendes gemacht was auch ohne Probleme funzt:

Package:
...
type PersData_RS is record (
MatchCode myTable.Matchcode%TYPE,
Anrede myTable.Anrede%TYPE,
name1 myTable.name1%TYPE,
name2 myTable.name2%TYPE,
Strasse myTable.Strasse%TYPE,
PLZ myTable.PLZ%TYPE,
ORT myTable.ORT%TYPE
);
type PersData_TBL is table of PersData_RS;

function PersData return PERSDATA_TBL pipelined;
...

Package Body:
...
function PersData return PersData_TBL pipelined AS
BEGIN
for CCur in(Select Matchcode,Anrede,name1,name2,Strasse,PLZ,ORT from myTable )
loop
pipe row (cCur);
end loop;
return;
END PersData;
...

Jetzt bin ich hergegangen und habe die Typen wie folgt definiert:

create or replace TYPE STA_PERSDATA_RS AS OBJECT
(
MatchCode Varchar2(40),
Anrede Varchar2(20),
name1 Varchar2(40),
name2 Varchar2(40),
Strasse Varchar2(80),
PLZ Varchar2(16),
ORT Varchar2(80)
);

und

create or replace TYPE STA_PERSDATA_TBL AS TABLE of "ESCPS_PORTALE"."STA_PERSDATA_RS";

Meine Frage ist nun wie muss ich die Code im Package ändern um die hinterlegte Typen zu verwenden?

Vielen Dank für Eure Mühe im voraus.
 
Werbung:
Was versprichst Du Dir von der "Objektisierung", wenn Du die Einsatzmöglichkeiten nicht kennst.
Du erzeugst damit einen großen Aufwand auf der Deklarationsseite (Objektdatenmodell). Das macht man am ehesten, wenn man ein super Tool hat, dass die Objectrelationale Kette vom Entwurf bis zum Programm unterstützt...

Hier ist ein Link zur Doku PL/SQL und Object Types
Using PL/SQL With Object Types
 
Zurück
Oben