Announcement

Collapse
No announcement yet.

FK berechnen

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

  • FK berechnen

    Hallo,

    ich habe zwei datenbanktabellen:

    tbl_artikel
    tbl_artikeldetails


    Hier die Struktur (vereinfacht):

    tbl_artikel
    id | beschreibung
    1 | Artikel 1
    2 | Artikel 2


    tbl_artikeldetails
    id | beschreibung | fk_artikel
    1 | detail 1 | 1
    2 | detail 2 | 1
    3 | detail 3 | 1


    Nun möchte ich ganz gerne die Artikel inklusive der angehängten Details duplizieren.
    Sprich, es soll dann so aussehen:

    tbl_artikel
    id | beschreibung
    1 | Artikel 1
    2 | Artikel 2
    3 | Artikel 1
    4 | Artikel 2


    tbl_artikeldetails
    id | beschreibung | fk_artikel
    1 | detail 1 | 1
    2 | detail 2 | 1
    3 | detail 3 | 1
    4 | detail 1 | 3
    5 | detail 2 | 3
    6 | detail 3 | 3

    Das ganz löse ich über eine INSERT INTO mit SELECT Anweisung.
    Das duplizieren klappt auch, nur weiß ich nicht, wie ich in die Details den neuen FK eintrage, bzw. berechne (in diesem Falle die 3).

    Könnt Ihr mir helfen?

    EDIT:
    Das alles wird eine stored procedure...


    Vielen Dank!

  • #2
    Um welche DB handelt es sich denn? IDs werden irgendwie von jedem DBRMS anders erzeugt. In Oracle wird das z.B. meist durch Sequence und Trigger erzeugt. Der Trigger sollte dann so eingestellt sein, dass wenn Du Deinem Datensatz eine ID mitgibst diese nicht erzeugt wird. Dann kannst Du in der Stored Procedure Dir einfach selbst die neue ID in eine Variable selektieren. Diese kannst Du dann für den INSERT der Artikel und der Details verwenden. Also in beiden Fällen wird die ID praktisch manuell eingefügt.

    Comment

    Working...
    X