Foreign Key mittels Trigger-Procedure

Kampfgummibaerlie

Datenbank-Guru
Beiträge
728
Wie müsste ich eine Trigger-Procedure aufbauen, es sei denn es ist möglich, einen Foreign-Key-Constraint von 2 verschiedene Tabellen mit jeweils dem Primary Key zu erstellen.

Bevor ich es probiere, frage ich hier mal lieber, weil es ja doch auch andere interessieren könnte!

Also, meine Idee:
Ich habe eine Tabelle, wo ich alle Materialien hineinlege. (ID Primary Key, name text, stück integer)
Ich habe eine andere Tabelle, wo ich alle Produkte hineinlege. (ID Primary Key, name text, stück integer)

Meine Überlegung:
Ich könnte ein Produkt in Produkte einfügen wollen, was aus vielen anderen Produkten erstellt wurde (Beispiel Auto: Materialien sind von mir aus 4 Tonnen von Metall. Jetzt baue ich das Auto aber aus 3 Produkten, die jeweils 1 Tonne Metall brauchen und 1 Tonne Metall.

Um ein bildliches Beispiel zu haben:
Auto wird gebaut aus beide Achsen zu je 0.5 Tonnen Metall, sprich 1 Tonne Metall, Karosserie aus 1 Tonne Metall, und der Motorblock ebenfalls aus 1 Tonne Metall.

Jetzt meine Frage:
A.: Kann man einen Foreign Key, von der selben Tabelle abhängig machen?
B.: (Wenn ja auf A), Kann man mehrere Fremdschlüssel für 1 Spalte bestimmen?
C.: Aus Interesse: Wie würde das Ganze mittels einer Trigger-Procedure denn aussehen?
 
Werbung:
Ja, Mr. Elephant, exakt sowas wäre auch in meiner Überlegung.
Aber, um meine Unterlegenheit wiedermal zu präsentieren, muss ich leider sagen, dass dein Beispiel zwar absolut wunderbar funktioniert (habe mir auch schnell die stueckliste tabelle erstellt), aber um ehrlich zu sein, bin ich offenbar wissensgierig genug, um nachzufragen:

Hast du auch dazu einen Link zur Doku, bzw. bist bereit, dein Wissen über eine recursive Abfrage zu teilen?

Beziehungsweise, um gernelle Fragen zu stellen:
was macht der Befehl recursive effektiv?
Ich bin im Gedanken, dass auch bei dem Beispiel in deinem Link Subquerys verwendet werden, warum können solche leer in der Abfrage stehen, und benötigen keine öffnende Klammer am Anfang?

Und ich kann die Tabellennamen der Subquery nicht nachvollziehen "t", "et", und was weiß ich was alles ;)

*Kein Deutscher bin* >>> Abkürzungen sind nicht so das meine :/

Oder sollte ich mir rekursive Querys länger ansehen, als mal eben 2 Stunden, und Morgen nichtmehr wissen, worum es da ging? (Ist eine solche wichtig im Datenbanken-Leben?)
 
Werbung:
Zurück
Oben