Announcement

Collapse
No announcement yet.

Loop durch Tabelle in Function

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Loop durch Tabelle in Function

    Hallo,

    ich würde gern in einer DB-Function eine Tabelle zurückliefern. Die ist jedoch relativ schwierig zu berechnen. Ich möchte vorher ein Select machen und dann für jeden Eintrag der Selektierten Tabelle überprüfen, ob dieser Eintrag in die Resulttabelle kommt. Dazu muss ich die Tabelle zeilenweise durchlaufen. Wie kann man das innerhalb einer StoredProcedure machen?

    MfG Kim

  • #2
    Hallo,

    ich habe das ganze nun etwas weiter hin bekommen, allerdings noch nicht komplett fertig:

    Es sollen hier alle UnterKategorien (und UnterUnterKategorien.. ) zu einer gegebenen CatID gefunden werden.

    Die Tabelle ist so aufgebaut:
    Categories(CatID,Name,MainCatID)

    Folgenden Code habe ich probiert:
    <pre>
    ALTER FUNCTION dbo.GetSubCategories
    (
    @CatID UNIQUEIDENTIFIER
    )
    RETURNS @CatTable TABLE (CatID UNIQUEIDENTIFIER, Name NVARCHAR(50))
    AS
    BEGIN

    INSERT INTO @CatTable
    SELECT CatID, Name FROM dbo.Categories WHERE (CatID = @CatID)

    DECLARE @qty UNIQUEIDENTIFIER

    DECLARE c CURSOR
    FOR SELECT CatID FROM dbo.CategoryView WHERE (MainCatID = @CatID)
    OPEN c
    FETCH c INTO @qty
    WHILE (@@FETCH_STATUS=0) BEGIN -- Here's a WHILE loop
    Insert into @CatTable
    SELECT CatID,Name FROM dbo.GetSubCategories(@qty)

    FETCH c INTO @qty
    END
    CLOSE c
    DEALLOCATE c

    RETURN
    END
    </pre&gt

    Comment

    Working...
    X