Announcement

Collapse
No announcement yet.

An der richtigen Stelle einfügen...pl/sql

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

  • An der richtigen Stelle einfügen...pl/sql

    Servus
    ich hab da ein Problem oder auch eine Frage?

    Wie kann ich es gewährleisten das mein Insert in meine Tabelle an der richtigen Stelle einfügt?

    Beispiel:

    PHP Code:
    Sq_no---------Prod_name--------Referer------Opt_flag
    1.
    ............Tower.............--...........--
    2...............Netzteil.........1........... f
    3.
    ..............Motherboard......1........... f
    4.
    ..............Grafikkarte......1........... f
    5.
    .................Kühlergrafik..4........... f
    6.
    ..............Ram..............1...........f
    6.
    .................Ramkühler.....6...........
    Jetzt soll noch eine 2. Grafikkarte eingefügt werden mit der sq_no 7 (die hol ich mir über sequenz ) referer vom Tower ....

    Hat jemand eine Idee???

  • #2
    zuerst: Ramkühler sq_id = 7, oder?
    mein Vorschlag Tower referer = 0.

    auf den Speicherort des Datensatzes hast du keinen Einfluß. Die Sortierung erledigt ein "order by ". Den kann ich aber bei diesem Datenmodel nicht finden.

    Comment


    • #3
      Originally posted by nyxlon View Post
      ...Wie kann ich es gewährleisten das mein Insert in meine Tabelle an der richtigen Stelle einfügt?...
      Was ist die richtige Stelle zum Einfügen ?
      Eine SQL-Datenbank wie Oracle arbeitet absolut Mengen- und nicht Datensatzorientiert. Du hast also, wie Uminky schon gesagt hat, keinen Einfluss darauf, wo und wie ein neuer DS gespeichert wird.
      Die Reihenfolge der Zeilen bei einem Select-Statement OHNE Angabe einer ORDER BY Klausel ist übrigens völlig undefiniert.

      Da deine Daten in einer hierarchischen Folge vorliegen, könntest du hierfür eine Abfrage mit CONNECT BY verwenden:
      [highlight=sql]
      select LEVEL, a.* from tabelle a
      START WITH a.Referer = 0
      CONNECT BY PRIOR a.Sq_no = a.Referer[/highlight]
      Das Pseudo-Feld LEVEL liefert dir die Verschachtelungstiefe und kann z.B. für die Erzeugung einer Einrückung verwendet werden.

      Gruß Falk
      Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

      Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

      Comment


      • #4
        Hallo Falk,

        gibt es in ORACLE keinen CLUSTER Index?

        Gruß frauwue
        docendo discimus

        Comment


        • #5
          @Falk
          so einfach, super :-)

          http://www.akadia.com/services/ora_t..._with_sql.html

          Comment


          • #6
            Originally posted by frauwue View Post
            Hallo Falk,

            gibt es in ORACLE keinen CLUSTER Index?

            Gruß frauwue
            Hallo frauwue,

            CLUSTER gibt es in Oracle schon, aber das wäre hierfür ein bißchen mit Kanonen auf Spatzen. Ein einfacher Index würde ja reichen, aber dazu müßte trotzdem im Datenmodell ein Attribut vorhanden sein, nach dem sich sortieren läßt .

            Gruß Falk
            Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

            Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

            Comment

            Working...
            X