DELETE FROM TABELLE1 WHERE PARAM1 NOT IN (SELECT DISTINCT PARAM1 FROM TABELLE2)
Was soll dabei rauskommen? Was ist Param1? Ein SP Parameter, z.b. 20 oder 42? Ein Feldname?
42 wäre dann gebunden:
DELETE FROM TABELLE1 WHERE 42 NOT IN (SELECT DISTINCT 42 FROM TABELLE2)
Wenn es ein Feldname wäre, statt eines Parameters, dann ist doch die Frage, wie das Mengengerüst aussieht.
Die Frage nach der Reproduzierbarkeit wurde ja schon gestellt.
Ich bin kein Firebird Experte, aber das Statement kommt mir sehr merkwürdig vor.
Wie siehts im Client mit Transaktionen aus? Wird hier vielleicht nicht nur commited, sondern noch die Transaktionskomponente benutzt?
Das wäre für mich ein Indikator für große Performance Einbrüche im Vergleich zu einem nackten SP Aufruf auf dem Server.