---
title: "hierarkisk procedur"
type: "forum-thread"
url: "https://www.webforum.nu/amne/webbutveckling/86967-hierarkisk-procedur"
topic: "Webbutveckling"
topic_url: "https://www.webforum.nu/amne/webbutveckling"
author: "doggelito"
published: "2003-09-25T18:38:29.000Z"
updated: "2003-09-25T19:03:42.000Z"
replies: 2
views: 168
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/webbutveckling/86967-hierarkisk-procedur"
---

# hierarkisk procedur

## #1 — doggelito, 2003-09-25T18:38Z

hittade på denna:

```
CREATE PROCEDURE dbo.sp_messages_message 
(@current int) 
as
 SET NOCOUNT ON
 DECLARE @lvl int, @line char(20)

 CREATE TABLE #stack (item char(20), lvl int)
 INSERT INTO #stack VALUES (@current, 1)
 SELECT @lvl = 1
 WHILE @lvl > 0
	BEGIN
	    IF EXISTS (SELECT * FROM #stack WHERE lvl = @lvl)
	        BEGIN
	            SELECT @current = item
	            FROM #stack
	            WHERE lvl = @lvl

	            SELECT @line = space(@lvl - 1) + @current
	            PRINT @line

	            DELETE FROM #stack
	            WHERE lvl = @lvl
	                AND item = @current

	            INSERT #stack
	                SELECT Relationid, @lvl + 1
	                FROM tblMessages
	                WHERE Messageid = @current

	            IF @@ROWCOUNT > 0
                        SELECT @lvl = @lvl + 1
        END

    ELSE
        SELECT @lvl = @lvl - 1
END -- WHILE

GO
```

men hur använder jag resultatet?
nu printar den ut alla Messageid (PRINT @line), kan man fånga upp dessa och köra en:

```
select * from tblMessages
where Messageid In (#stack)
```

Permalänk: https://www.webforum.nu/p/86967

## #2 — LarsG, 2003-09-25T18:54Z

I stället för print kan du göra insert i en tabell (t) och sedan 

select \* from tblMessages
where Messageid In (select messageid from t)

Permalänk: https://www.webforum.nu/p/1166477

## #3 — doggelito, 2003-09-25T19:03Z

Javisst! :bire

Permalänk: https://www.webforum.nu/p/1166485

---

Tråden på webben: https://www.webforum.nu/amne/webbutveckling/86967-hierarkisk-procedur
