Ich habe die folgende gespeicherte Prozedur. Ich habe einen Fehler in meinem Code gefunden, der zu fehlerhaften Daten geführt hat. Ich habe diese Prozedur geschrieben, um die Daten zu korrigieren.
CREATE OR ALTER PROCEDURE RESET_DISABLED_COUNT
returns (
person integer,
game integer,
disabled integer,
cnt integer)
as
begin
for select gr.person_id, gr.game_id, gr.disableds
from game_roster gr
into :person, :game, :disabled
do begin
select count(gr.id)
from game_roster gr
where gr.disabled_by_id = :person and gr.game_id = :game
into cnt;
if (cnt <> disabled) then begin
update game_roster gr set gr.disableds = :cnt where (gr.person_id = :person) and (gr.game_id = :game);
end
end
end
Ich führe dann die Prozedur von IBExpert aus und übertrage sie. Wenn ich jedoch eine Abfrage in der Tabelle ausführe, zeigt sie, dass die alten Daten noch vorhanden sind. Was übersehe ich?