Announcement

Collapse
No announcement yet.

Objektreferenzen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Objektreferenzen

    Hallo alle zusammen, habe da ein Problem.

    Meine Objekttabellen sehen Folgendermaßen aus:

    CREATE TYPE Auftrag2_TY AS OBJECT (
    Auftragsnr number,
    Datum date,
    Status varchar2(2));

    CREATE TYPE Auftrags_TAB AS TABLE OF REF Auftrag2_TY;

    CREATE OR REPLACE TYPE Kunde2_TY AS OBJECT (
    Kundennr number,
    name varchar2(15),
    firma varchar2(20),
    Adresse Adressen_NT,
    Auftraege Auftrags_TAB,
    Telefon Telefon_VA);

    CREATE TABLE Kunde2 OF Kunde2_TY
    NESTED TABLE Adresse STORE AS Adressen_NT_TAB,
    NESTED TABLE Auftraege STORE AS Kundenauftraege;

    CREATE TABLE Auftrag2 OF Auftrag2_TY;


    ich will zwei Dinge und zwar einmal einen neuen Auftrag zu einem Kunden hinzufügen:

    INSERT INTO TABLE(SELECT k.Auftraege from Kunde2 k where k.kundennr = 106))) Values (Auftrags_TAB((select REF(a) from auftrag2 a where a.auftragsnr = 1008)));

    was nicht klappt

    und einmal einen bestimmten Auftrag wieder löschen !!!

    Wie kann ich das machen ?


    Gruß

    Destino

  • #2
    Originally posted by Destino View Post
    Hallo alle zusammen, habe da ein Problem.

    Meine Objekttabellen sehen Folgendermaßen aus:

    CREATE TYPE Auftrag2_TY AS OBJECT (
    Auftragsnr number,
    Datum date,
    Status varchar2(2));

    CREATE TYPE Auftrags_TAB AS TABLE OF REF Auftrag2_TY;

    CREATE OR REPLACE TYPE Kunde2_TY AS OBJECT (
    Kundennr number,
    name varchar2(15),
    firma varchar2(20),
    Adresse Adressen_NT,
    Auftraege Auftrags_TAB,
    Telefon Telefon_VA);

    CREATE TABLE Kunde2 OF Kunde2_TY
    NESTED TABLE Adresse STORE AS Adressen_NT_TAB,
    NESTED TABLE Auftraege STORE AS Kundenauftraege;

    CREATE TABLE Auftrag2 OF Auftrag2_TY;


    ich will zwei Dinge und zwar einmal einen neuen Auftrag zu einem Kunden hinzufügen:

    INSERT INTO TABLE(SELECT k.Auftraege from Kunde2 k where k.kundennr = 106))) Values (Auftrags_TAB((select REF(a) from auftrag2 a where a.auftragsnr = 1008)));

    was nicht klappt

    und einmal einen bestimmten Auftrag wieder löschen !!!

    Wie kann ich das machen ?


    Gruß

    Destino
    - Was klappt den genau nicht ? Fehlermeldungen ? Welche Datenbank Version benutzt du ? Im übrigen ist dies (ich nehme an,du versuchst eine Auftragsverwaltung zu implementieren), nicht der Weg, den ich gehen würde, mit den Object Types in Oracle, jedefalls nicht auf diese Art.

    Comment


    • #3
      hab den fehler gefunden Danke, lag am Auftrags_TAB muss Column_Value sein

      Comment

      Working...
      X