1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26:
CREATE VERFAHREN dbo.ShowHierarchy ( @Root int, @idList varchar (100) OUTPUT ) WIE ANFANGEN NOCOUNT AN EINSTELLEN Das varchar @IndName ERKLÄREN @IndID int, (30) @IndName EINSTELLEN = (AUSERWÄHLTE Identifikation VON dbo.forum_industries, WO Identifikation = @Root) VERDOPPELUNG DRUCKEN („-“, @@NESTLEVEL * 4) + @INDNAME @IDLIST = @IDLIST EINSTELLEN + „,“ + GEWORFEN (@INDNAME ALS VARCHAR (100)) @IndID EINSTELLEN = (AUSERWÄHLTE MINUTE (Identifikation) VON dbo.forum_industries, WO ParentID = @Root) WÄHREND @INDID NICHT UNGÜLTIG IST ANFANGEN EXEC dbo.ShowHierarchy @IndID, @idList--, @finalIdList @IndID EINSTELLEN = (AUSERWÄHLTE MINUTE (Identifikation) VON dbo.forum_industries, WO ParentID = @Root UND Identifikation > @IndID) ENDE ENDE
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24:
ANFANGEN @IndID int ERKLÄREN Das varchar @idList ERKLÄREN -- , ob wir die eingesetzte oder gelöschte Tabelle überprüfen, abhängig von herausfinden, ob eine Aufzeichnung gelöscht oder eingesetzt oder aktualisiert erhält. wenn (Zählimpuls (*) von eingesetzt) vorwählen, <> 0 und (Zählimpuls (*) von gelöscht) vorwählen, = 0 --einsetzen anfangen @IndID = forum_industriesID VON eingesetzt VORWÄHLEN Ende wenn (Zählimpuls (*) von eingesetzt) vorwählen, <> 0 und (Zählimpuls (*) von gelöscht) vorwählen, <> 0 --Update anfangen @IndID = forum_industriesID VON eingesetzt VORWÄHLEN Ende wenn (Zählimpuls (*) von eingesetzt) vorwählen, = 0 und (Zählimpuls (*) von gelöscht) vorwählen, <> 0 --Löschung anfangen @IndID = forum_industriesID VON gelöscht VORWÄHLEN Ende @idList EINSTELLEN = 0 ShowHierarchy @IndID, @idList DURCHFÜHREN -- Code fragen, um das IDList zu speichern oder vorzuwählen gegründet auf der Liste END