Hallo! > Wie gehe ich denn am besten in einer Stored Procedure vor, > wenn ich einfach > nur testen m�chte, ob zu einem angegebenen Parameter ein Datensatz
SELECT 1 WHERE EXISTS (SELECT ...) "EXISTS" gibt keine Datens�tze zur�ck, sondern pr�ft lediglich, ob es Datens�tze gibt. > vorhanden ist oder nicht? In ADO.NET kann man das doch > mit SqlCommand.ExecuteScalar erreichen. wie aber mit Transact SQL? > W�re doch unn�tige Performanceverschwendung, die Datens�tze komplett > auszulesen.. Mit T-SQL steuerst Du, wieviele Datens�tze gelesen werden. Mit ADO bzw. ADO.NET steuerst Du lediglich, wie das Ergebnis (Resultset) aufbereitet wird. Damit nicht immer ein komplexes RecordSet (ADO) oder DataSet (ADO.NET) erzeugt wird, gibt es in ADO.NET jetzt die Methode .ExecuteScalar(). Aber auch mit ADO braucht man nicht immer ein RecordSet als Ergebnis: Da ruft man das Command-Objekt mit den Optionen "adCmdStoredProc" und "adExecuteNoRecords" auf und gibt einen oder mehrere Skalare �ber die Parameter zur�ck. Das geht mit ADO.NET nat�rlich so auch noch. .ExecuteScalar() ist jedoch n�tzlich, wenn man tats�chlich nur genau 1 Wert ben�tigt und Angst vor Stored Procedures hat. In dem Fall nimmt man eine beliebigen Select-Befehl und am peformantesten einen nach obigem Muster. Freundliche Gr��e Joachim van de Bruck _______________________________________________ Database.asp mailing list [EMAIL PROTECTED] http://www.glengamoi.com/mailman/listinfo/database.asp
