Frage zu select...where

05/02/2009 - 14:33 von Jo Michael | Report spam
Hallo NG,

ich hab eine gespeicherte Prozedur (SQL2005) und würde dort gern
eine Select-Abfrage ausführen bei der die where-Bedingungen
variabel sein sollten.

Also zB: brauche ich an der Stelle manchmal:
select * from meineTb where id > 100

Aber eventuell muß ich manchmal noch einen zusàtzlichen Filter verwenden:
select * from meineTb where id > 100 AND UserID='xyz'

Ich könnte ja jetzt ne IF-Abfrage machen wo halt je nachdem das erste oder
2. Select Statement
nehme. Bei 2 Filter kein Problem aber es sind bei mir 4 Filter die in
unterschiedlicher Kombination
vorkommen.
Kann ich die where Abfrage irgendwie dynamisch zusammenbauen?
Wie macht man sowas in der Praxis?

danke schonmal
gruss,
Jo
 

Lesen sie die antworten

#1 Stefan Falz [MVP]
05/02/2009 - 14:38 | Warnen spam
Hallo Jo,

"Jo Michael" schrieb
:

Also zB: brauche ich an der Stelle manchmal:
select * from meineTb where id > 100

Aber eventuell muß ich manchmal noch einen zusàtzlichen Filter verwenden:
select * from meineTb where id > 100 AND UserID='xyz'



Dynamisches SQL. Also als String zusammensetzen und über EXEC( @Variable )
ausführen. Siehe dazu aber bitte auch:

http://www.insidesql.org/beitraege/...-und-segen

Tschau, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

Ähnliche fragen