Hallo Gurus dieses Forums,
eine Frage habe ich an Euch,
ich führe in IBExpert ein .sql-Skript (Firebird 2.5) aus, das funktioniert ohne Fehler, aber werden keine Änderungen in der Tabelle durchgeführt. Das Skript soll nach einem aktuellen bzw. letzen Datum suchen und andere Werte dieser Tabelle (wo das Datum 0 max ist) ändern. Das wird ausgeführt ohne Fehler, aber in den Spalten, da das aktuelle Datum gefunden wurde, passiert nichs, keine Änderungen. Alle Werte bleiben unverändert. (ich arbeite in diesem Fall nicht direkt mit den Tabellen, sondern mit Views)
Woran das liegen kann? Ich bitte um Eure Hilfe. Für jeden Tip bin ich dankbar!
...
CREATE OR ALTER PROCEDURE REPORT_CURRENT_LATEST
as
declare variable stand date;
declare variable standberichtnew date;
declare variable lastbericht date;
declare variable ergebnisbericht integer;
declare variable berichtsid integer;
declare variable alteberichtsid integer;
declare variable id integer;
declare variable berichtszahl integer;
declare variable naechstesdatum date;
declare variable safetytest date;
BEGIN
FOR SELECT
test,id, safety_test from view1 into :stand,:id,:safetytest
do begin
IF (stand is not null) THEN
BEGIN
select max (test_date) from view2 where id = :id into :lastbericht ;
select count (report_id) from view2 where id = :id and test_date = :lastbericht into :berichtszahl ;
END
if (berichtszahl > 1 ) then
BEGIN
select report_id,f_next_test_date from view2 where id = :id and test_date = :lastbericht and final_rslt = 0 into :berichtsid, :naechstesdatum;
if (berichtsid is not null) then
BEGIN
UPDATE view1 SET
view1.curr_report_id = :berichtsid,
view1.f_last_standard_test = :lastbericht ,
view1.last_safety_test = :lastbericht ,
view1.test = :naechstesdatum,
view1.safety_test = :naechstesdatum
where view1.id = :id;
END
Danke im Voraus.
LG
Lessy
eine Frage habe ich an Euch,
ich führe in IBExpert ein .sql-Skript (Firebird 2.5) aus, das funktioniert ohne Fehler, aber werden keine Änderungen in der Tabelle durchgeführt. Das Skript soll nach einem aktuellen bzw. letzen Datum suchen und andere Werte dieser Tabelle (wo das Datum 0 max ist) ändern. Das wird ausgeführt ohne Fehler, aber in den Spalten, da das aktuelle Datum gefunden wurde, passiert nichs, keine Änderungen. Alle Werte bleiben unverändert. (ich arbeite in diesem Fall nicht direkt mit den Tabellen, sondern mit Views)
Woran das liegen kann? Ich bitte um Eure Hilfe. Für jeden Tip bin ich dankbar!
...
CREATE OR ALTER PROCEDURE REPORT_CURRENT_LATEST
as
declare variable stand date;
declare variable standberichtnew date;
declare variable lastbericht date;
declare variable ergebnisbericht integer;
declare variable berichtsid integer;
declare variable alteberichtsid integer;
declare variable id integer;
declare variable berichtszahl integer;
declare variable naechstesdatum date;
declare variable safetytest date;
BEGIN
FOR SELECT
test,id, safety_test from view1 into :stand,:id,:safetytest
do begin
IF (stand is not null) THEN
BEGIN
select max (test_date) from view2 where id = :id into :lastbericht ;
select count (report_id) from view2 where id = :id and test_date = :lastbericht into :berichtszahl ;
END
if (berichtszahl > 1 ) then
BEGIN
select report_id,f_next_test_date from view2 where id = :id and test_date = :lastbericht and final_rslt = 0 into :berichtsid, :naechstesdatum;
if (berichtsid is not null) then
BEGIN
UPDATE view1 SET
view1.curr_report_id = :berichtsid,
view1.f_last_standard_test = :lastbericht ,
view1.last_safety_test = :lastbericht ,
view1.test = :naechstesdatum,
view1.safety_test = :naechstesdatum
where view1.id = :id;
END
Danke im Voraus.
LG
Lessy
Comment