Heim Datenbank MySQL-Tutorial sqlserver树状结构表中,获取指定节点的所有父节点路径_MySQL

sqlserver树状结构表中,获取指定节点的所有父节点路径_MySQL

May 30, 2016 pm 05:09 PM
结构 节点 路径

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

CREATE PROCEDURE [dbo].[A_P_GetParentIds]

    (

      @IdValue NVARCHAR(36) ,-- 子节点值

      @tableName NVARCHAR(MAX) ,-- 表名

      @ParentIdColumnName NVARCHAR(MAX) ,-- 父节点列名

      @ChildIdColumnName NVARCHAR(MAX)-- 子节点列名

    )

AS

    DECLARE @sqlTemp NVARCHAR(MAX); --查询sql

    SET @sqlTemp = ' with cte_root as

(

 select ' + @ParentIdColumnName + ' from ' + @tableName + ' where '

        + @ChildIdColumnName + ' = ''' + @IdValue + ''' union all

  select a.' + @ParentIdColumnName + ' from ' + @tableName

        + ' a inner join cte_root b on a.' + @ChildIdColumnName + '=b.'

        + @ParentIdColumnName + ' ) ' + CHAR(10) + 'select * from cte_root ';

 

------返回查询结果-----

    EXEC sp_executesql @sqlTemp;

 

 

GO

Nach dem Login kopieren

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

CREATE PROCEDURE [dbo].[A_P_GetParentInfo]

    (

      @IdValue NVARCHAR(36) ,-- 子节点值

      @tableName NVARCHAR(MAX) ,-- 表名

      @ParentIdColumnName NVARCHAR(MAX) ,-- 父节点列名

      @ChildIdColumnName NVARCHAR(MAX)-- 子节点列名

    )

AS

    DECLARE @sqlTemp NVARCHAR(MAX); --查询sql

    SET @sqlTemp = ' with cte_root as

(

 select *  from ' + @tableName + ' where '

        + @ChildIdColumnName + ' = ''' + @IdValue + ''' union all

  select a.*  from ' + @tableName

        + ' a inner join cte_root b on a.' + @ChildIdColumnName + '=b.'

        + @ParentIdColumnName + ' ) ' + CHAR(10) + 'select * from cte_root ';

 

------返回查询结果-----

    EXEC sp_executesql @sqlTemp;

 

GO

Nach dem Login kopieren


调用测试:

1

2

3

4

5

6

7

8

9

10

11

DECLARE @return_value int

 

EXEC    @return_value = [dbo].[A_P_GetParentIds]

        @IdValue = N'a29672f9-3d03-4cfc-9cb0-403ce729db5b',--子节点值

        @tableName = N'SystemMenu',--表名

        @ParentIdColumnName = N'ParentId',--父节点列名

        @ChildIdColumnName = N'Id'--子节点列名

 

SELECT  'Return Value' = @return_value

 

GO

Nach dem Login kopieren

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wo befinden sich Themes in Windows 11? Wo befinden sich Themes in Windows 11? Aug 01, 2023 am 09:29 AM

Windows 11 bietet so viele Anpassungsoptionen, darunter eine Reihe von Themen und Hintergrundbildern. Obwohl diese Themen auf ihre Art ästhetisch sind, fragen sich einige Benutzer immer noch, wo sie unter Windows 11 im Hintergrund stehen. Diese Anleitung zeigt Ihnen die verschiedenen Möglichkeiten, auf den Speicherort Ihres Windows 11-Designs zuzugreifen. Was ist das Standarddesign von Windows 11? Der Standard-Designhintergrund von Windows 11 ist eine blühende abstrakte königsblaue Blume mit einem himmelblauen Hintergrund. Dieser Hintergrund ist aufgrund der Vorfreude auf die Veröffentlichung des Betriebssystems einer der beliebtesten. Das Betriebssystem bringt jedoch auch eine Reihe anderer Hintergründe mit. Daher können Sie den Hintergrund des Windows 11-Desktopdesigns jederzeit ändern. Themen werden in Windo gespeichert

So beheben Sie den Fehler: Die Hauptklasse wurde in Java nicht gefunden oder geladen So beheben Sie den Fehler: Die Hauptklasse wurde in Java nicht gefunden oder geladen Oct 26, 2023 pm 11:17 PM

Dieses Video kann aufgrund eines technischen Fehlers nicht abgespielt werden. (Fehlercode: 102006) Dieser Leitfaden bietet einfache Lösungen für dieses häufige Problem und ermöglicht Ihnen die Fortsetzung Ihrer Codierungsreise. Wir werden auch die Ursachen von Java-Fehlern besprechen und wie man sie in Zukunft verhindern kann. Was ist „Fehler: Hauptklasse nicht gefunden oder geladen“ in Java? Java ist eine leistungsstarke Programmiersprache, die es Entwicklern ermöglicht, eine breite Palette von Anwendungen zu erstellen. Seine Vielseitigkeit und Effizienz bringen jedoch eine Reihe häufiger Fehler mit sich, die während der Entwicklung passieren können. Einer der Interrupts ist „Fehler: Hauptklasse user_jvm_args.txt nicht gefunden oder geladen“, was auftritt, wenn die Java Virtual Machine (JVM) die Hauptklasse zum Ausführen eines Programms nicht finden kann. Dieser Fehler wirkt selbst in einer Hürde

Unterschiedliche Verwendung von Schrägstrichen und Backslashes in Dateipfaden Unterschiedliche Verwendung von Schrägstrichen und Backslashes in Dateipfaden Feb 26, 2024 pm 04:36 PM

Ein Dateipfad ist eine Zeichenfolge, die vom Betriebssystem verwendet wird, um eine Datei oder einen Ordner zu identifizieren und zu finden. In Dateipfaden gibt es zwei gängige Symbole zur Trennung von Pfaden, nämlich den Schrägstrich (/) und den Backslash (). Diese beiden Symbole haben in verschiedenen Betriebssystemen unterschiedliche Verwendungen und Bedeutungen. Der Schrägstrich (/) ist ein häufig verwendetes Pfadtrennzeichen in Unix- und Linux-Systemen. Auf diesen Systemen beginnen Dateipfade im Stammverzeichnis (/) und werden durch Schrägstriche zwischen den einzelnen Verzeichnissen getrennt. Zum Beispiel der Pfad /home/user/Docume

Was ist der Unterschied im Pfad „Arbeitsplatz' in Win11? Schneller Weg, es zu finden! Was ist der Unterschied im Pfad „Arbeitsplatz' in Win11? Schneller Weg, es zu finden! Mar 29, 2024 pm 12:33 PM

Was ist der Unterschied im Pfad „Arbeitsplatz“ in Win11? Schneller Weg, es zu finden! Da das Windows-System ständig aktualisiert wird, bringt auch das neueste Windows 11-System einige neue Änderungen und Funktionen mit sich. Eines der häufigsten Probleme besteht darin, dass Benutzer den Pfad zu „Arbeitsplatz“ im Win11-System nicht finden können. Dies war in früheren Windows-Systemen normalerweise ein einfacher Vorgang. In diesem Artikel erfahren Sie, wie sich der Pfad „Arbeitsplatz“ im Win11-System unterscheidet und wie Sie ihn schnell finden. Unter Windows1

So verwenden Sie das Modul os.path, um verschiedene Teile des Dateipfads in Python 3.x abzurufen So verwenden Sie das Modul os.path, um verschiedene Teile des Dateipfads in Python 3.x abzurufen Jul 30, 2023 pm 02:57 PM

So verwenden Sie das Modul os.path in Python3.x, um verschiedene Teile des Dateipfads abzurufen. Bei der täglichen Python-Programmierung müssen wir häufig den Dateipfad bearbeiten, z. B. den Dateinamen, das Dateiverzeichnis, die Erweiterung usw. abrufen. des Weges. In Python können Sie das Modul os.path verwenden, um diese Vorgänge auszuführen. In diesem Artikel wird erläutert, wie Sie mit dem Modul os.path verschiedene Teile des Dateipfads für eine bessere Dateibearbeitung abrufen. Das Modul os.path bietet eine Reihe von

Was sind in JavaFX die verschiedenen Pfadelemente? Was sind in JavaFX die verschiedenen Pfadelemente? Aug 28, 2023 pm 12:53 PM

Das Paket javafx.scene.shape stellt einige Klassen bereit, mit denen Sie verschiedene 2D-Formen zeichnen können. Dies sind jedoch nur primitive Formen wie Linien, Kreise, Polygone und Ellipsen usw. Wenn Sie also komplexe benutzerdefinierte Formen zeichnen möchten, benötigen Sie um die Path-Klasse zu verwenden. Path-Klasse Path-Klasse Mit diesem geometrischen Umriss, der eine Form darstellt, können Sie benutzerdefinierte Pfade zeichnen. Zum Zeichnen benutzerdefinierter Pfade stellt JavaFX verschiedene Pfadelemente bereit, die alle als Klassen im Paket javafx.scene.shape verfügbar sind. LineTo – Diese Klasse repräsentiert die Pfadelementlinie. Es hilft Ihnen, eine gerade Linie von den aktuellen Koordinaten zu den angegebenen (neuen) Koordinaten zu zeichnen. HlineTo – Dies ist die Tabelle

Analyse des Speicherpfads des Linux-Kernel-Quellcodes Analyse des Speicherpfads des Linux-Kernel-Quellcodes Mar 14, 2024 am 11:45 AM

Der Linux-Kernel ist ein Open-Source-Betriebssystemkernel, dessen Quellcode in einem speziellen Code-Repository gespeichert ist. In diesem Artikel analysieren wir den Speicherpfad des Linux-Kernel-Quellcodes im Detail und verwenden spezifische Codebeispiele, um den Lesern ein besseres Verständnis zu ermöglichen. 1. Speicherpfad für den Linux-Kernel-Quellcode Der Linux-Kernel-Quellcode wird in einem Git-Repository namens Linux gespeichert, das unter [https://github.com/torvalds/linux](http://github.com/torvalds/linux) gehostet wird

Wie finde ich den Speicherpfad von RPM-Dateien im Linux-System? Wie finde ich den Speicherpfad von RPM-Dateien im Linux-System? Mar 14, 2024 pm 04:42 PM

In Linux-Systemen ist RPM (RedHatPackageManager) ein gängiges Softwarepaket-Verwaltungstool, das zum Installieren, Aktualisieren und Löschen von Softwarepaketen verwendet wird. Manchmal müssen wir den Speicherpfad einer installierten RPM-Datei für Such- oder andere Vorgänge finden. Im Folgenden wird erläutert, wie Sie den Speicherpfad der RPM-Datei im Linux-System finden, und es werden spezifische Codebeispiele bereitgestellt. Zuerst können wir den rpm-Befehl verwenden, um das installierte RPM-Paket und seinen Speicherpfad zu finden. Offen

See all articles