Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


SQL och rekursion

Postades av 2003-07-11 11:11:52 - Nazgol Azizi, i forum sql-server/msde, Tråden har 2 Kommentarer och lästs av 853 personer

Hej!

Jag har en tabell som heter DocumentGroup. Den har följande kolumner:

GroupID
ParentGroupID
GroupName

Sen har jag en annan tabell som heter Document som består av följande kolumner:

DocumentID
GroupID
Title

där GroupID är nyckeln i DocumentGroup tabellen.

Jag vill skriva en rekursiv SP som givet en @groupID, går igenom Document tabellen och hämtar:
* alla dokument som har GroupID = @groupID och
* alla dokument som har GroupID = @groupID's barn.

Kan nån hjälpa mig? Jag vill inte använda mig av temporär tabeller. Går det att undvika det?

Mvh,
Naz


Svara

Sv: SQL och rekursion

Postades av 2003-07-11 13:53:20 - Christoffer Hedgate

Ska du använda en rekursiv procedur så är temporära tabeller är ett av de alternativ du har. Annars kan du göra en funktion som kör en loop och fyller en tabellvariabel som returneras.

Inget av dessa alternativ är dock särskilt bra, bättre att använda någon av de tekniker som hittats på för att hantera hierarkier i SQL utan rekursion eller iterering, utan bara med vanlig mängdbaserad SQL. SQL är ju trots allt baserat på relationsmodellen och därför bör du inte arbeta iterativt med det. SQL Server har dessutom en gräns på 32 nivåers rekursion (just för att rekursion inte är särskilt bra för prestandan och man inte ska kunna ta död på maskinen genom en dum rekursion). Googla lite efter Enumerated Paths (Itzik Ben-Gan), Access Paths (Steve Kass) eller Nested Sets (Joe Celko).


Svara

Sv: SQL och rekursion

Postades av 2003-07-12 21:13:08 - Pontus Wång

Kolla mitt inlägg för ett tag sedan: [Någon som har en effektivare lösning än den här?]

Där finns en lösning på ditt problem som med bra index satta inte tar alltför lång tid att utföra.


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 614
27 953
271 709
549
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies