Entwickler-Ecke

Datenbanken - [MSSQL] Doppelte results verhindern


jojo-sp - Mi 09.12.09 16:06
Titel: [MSSQL] Doppelte results verhindern
Moin moin,

es betrifft eigentlich nicht direkt Delphi, sonder den MSSQL Server selber.

Ich habe eine stored procedure mit folgendem Aufbau (nur grob):


SQL-Anweisung
1:
2:
3:
4:
5:
6:
7:
8:
9:
--
SET x = (SELECT Col1 FROM Tabelle1)
--
SET y = (SELECT Col2 FROM Tabelle2)

Wenn x = y dann
EXEC spMachWas

SELECT x,y, * FROM Tabelle1


Jetzt habe ich aber das Problem, dass die spMachWas mir ein (SELECT * FROM Tabelle2) als result zurückgibt.
Insgesamt kommt die oben beschriebene stored procedure mit 2 resultsets nach Delphi zurück.
Gibt es eine elegante Möglichkeit, dass nur das letzte SELECT als result kommt, da ich sonst Probleme bekomme da die Ergebnisse der SELECTs unterschiedlich sind!!!???

MfG
Johannes


Torsten Richter - Fr 11.12.09 11:09

Moin Johannes,

Der Codeauszug ist etwas dürftig: was in spMachwas passiert, sieht man garnicht.

ein SELECT * ist nie gut, dann kannst du ja gleich auf die Tabelle zugreifen

SELECT x,y, * FROM Tabelle1 ist unsinnig, da x ein Subset von Tabelle1 ist.

zur eigentlichen Frage : schau dir mal die Hilfe zu TCustomADODataSet.NextRecordset an.
trifft nicht ganz deine Frage, ist aber oft sehr sinnvoll einzusetzen.

hth
Torsten