Frage zu SQL-Abfage

Hallo,

ich habe eine blöde Frage. Ich muss ein SQL-Statement auf Korrektheit prüfen. Datenbank ist MySQL, Programmiersprache Java.

Nun hatte mein Kollege die Idee den Select-Befehl auf die Datenbank loszulassen und zu prüfen ob etwas selektiert wird. Das Select-Statement kann relativ frei vom Benutzer zusammengebaut werden.
Beispiel
SELECT * FROM USER_TAB oder
SELECT NAME ORT FROM USER_TAB WHERE…

Wenn ich aber eine solches Statement abschicke werden vielleicht 1000 Datensätze selektiert, die ich aber eigentlich gar nicht brauche. Deshalb die Frage:

Kann man irgendwie erreichen, dass nach dem ersten gefundenen Datensatz die Selektion endet. Die Lösung muss natürlich für alle Select-Statements funktionieren, die der Benutzer eingibt.

Habt Ihr eine bessere Idee ?

Danke
Albert

Hallo Albert,

check doch ob im Statement ein WHERE beinhaltet und häng doch ein „WHERE 1=0“ an. Ansonsten ein entsprechendes „AND 1=0“. Das sollte null Resourcen für die Ausführung bedeuten.

MfG Georg V.

P.S.: Eventuell müsste am an dem Ansatz noch etwas feilen :smile:

Beispiel
SELECT * FROM USER_TAB oder
SELECT NAME ORT FROM USER_TAB WHERE…

Kann man irgendwie erreichen, dass nach dem ersten gefundenen
Datensatz die Selektion endet. Die Lösung muss natürlich für
alle Select-Statements funktionieren, die der Benutzer
eingibt.

Wenn du den Querry um ein LIMIT 1 erweiterst, sollte es schon ausreichen:
SELECT * FROM USER_TAB LIMIT 1

Beste Grüße - Leon

setze ein LIMIT 1 hinter die Abfrage