Rekursive Stored Procedures


dhueb

Grünschnabel
#1
Hallo an alle,

ich muss eine rekursive stored procedure estellen.
Eingabeparameter ist Mitarbeiternr und als Ausgabeparameter die Mitarbeiternr des in der Mitarbeiterhierarchie höchsten Vorgesetzten liefert. Wenn es keinen Vorgesetzen gibt, soll die eigene Mitarbeiternr zurückgeliefert werden. bei fehelerhafter Mitarbeiternr muss eine fehlermeldung erfolgen.

Ich würde mich auf eine Hilfe eurer seits freuen :)
 

dhueb

Grünschnabel
#3
Code:
MitNr. Chef
5101
5102 5101
5103 5101
5104 5102
5105 5102
6101
6102 6101
6103 6101
6104 6101
6105 6104
7101
7102 7101
7103 7101
MYSQL . wir haben eine tabelle Mitarbeiter mit spalte: Mitarbeiternr, Chef


so sehen die Tabellen aus. bisher hab ich leider noch nichts :(
 
Zuletzt bearbeitet:

Bratkartoffel

gebratene Kartoffel
Premium-User
#6
Hi,

das hört sich doch stark nach einer Schul- / Ausbildungsaufgabe an. Was habt ihr bisher durchgenommen? Worum gings die letzten Stunden?

Grüsse,
BK
 

Bratkartoffel

gebratene Kartoffel
Premium-User
#8
Und du findest weder in deinen Aufzeichnungen, noch per Google irgendeinen Anhaltspunkt?
Versuchs bitte erstmal selber und wenn du Probleme hast, dann kann ich dir gerne helfen. Ich werde dir aber nicht die fertige Lösung hinschreiben, dann lernst du ja nichts.

Grüsse,
BK
 

Bratkartoffel

gebratene Kartoffel
Premium-User
#10
Hi,

du kommst mit einer ID in deine Procedure rein (MitNr). Mit dieser machst du einen SELECT auf deine Tabelle und speicherst dir das Ergebnis in einer Variable. Dann schaust du nach, ob der Chef nicht NULL ist. Falls nicht null, dann neuer Select mit MitNr = aktuelle ChefNr. Das ganze musst du so lange in einer Schleife machen, bis Chef = NULL. Am Schluss lieferst du die letzte gefundene MitNr zurück.

Grüsse,
BK
 

ComFreek

Mod | @comfreek
Moderator
#11
@dhueb Bitte zensiere deine Beiträge nicht im Nachhinein. Das ist unfair all den Leuten gegenüber, die beim Thema mitgedacht oder sogar geantwortet haben. Falls du Angst hast, dass dein Lehrer diesen Thread finden könnte: Du hast nirgends eine Komplettlösung bekommen, sondern nur Ideen. Nach Hilfe zu Fragen mit genügend Eigenarbeit*, ist ein Zeichen von Stärke.

*) Die Eigenarbeit ist als Anfänger natürlich schwieriger als wie wenn man Fortgeschrittener ist.
 

dhueb

Grünschnabel
#12
Hi,

du kommst mit einer ID in deine Procedure rein (MitNr). Mit dieser machst du einen SELECT auf deine Tabelle und speicherst dir das Ergebnis in einer Variable. Dann schaust du nach, ob der Chef nicht NULL ist. Falls nicht null, dann neuer Select mit MitNr = aktuelle ChefNr. Das ganze musst du so lange in einer Schleife machen, bis Chef = NULL. Am Schluss lieferst du die letzte gefundene MitNr zurück.

Grüsse,
BK

Danke
 

Neue Beiträge