15. februar 2001 - 11:22Der er
4 kommentarer og 2 løsninger
Dynamisk kriterie i stored procedure
Jeg har en tabel (Selections) indeholdende selektionskriterier.
ID Criteria 1 Where Foo<>Bar 2 Where Foo=Bar AND Whatever=\'Something\' . .
Er det muligt at gøre noget i retning af følgende i en stored procedure: . . Select @au_Criteria=Criteria From Selections Where ID=@p_CriteriaID //Parameter med id på selektion
Select * From FooBars @au_Criteria //Så @au_Criteria indeholder kriteriet fra Selections
Sagt på en anden måde:
Kan man opbygge dynamiske kriterier i variable og anvende dem i selects?
Mit alternativ er at lave hele pøllemøllen vha. ado, men det er laaaaaaaaaaangsomt i forhold til at skrive en stored proc. (når man sammenligner stored proc\'en uden kriterie med den tilsvarende i ado).
Hvis du vil gøre det på den måde er du nødt til at lave det som en streng, der indsættes der herefter køres ved hjælp af Exec!
Ellers skal du lave fem View, der hver især bruger et sæt kriterier!
Det vil sige
IF @p_CriteriaID = 1 SELECT * FROM View1 ELSE IF @p_CriteriaID = 2 SELECT * FROm View2
Men det er nok mere bøvlet end du ønsker!
Hvis der tilføjes kriterier hele tiden vil det heller ikke være at foretrække da du så skal lave et nyt view hver gang, der laves et kriterium! Hvis jeg var dig ville jeg opbygge det hele som en streng og så bruge EXEC Query !!
Interessant emne. Lige et lille tillægsspørgsmål. Går det ud over hastigheden og performance i øvrigt at opbygge den som en streng?
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.