I get an error (255 - not in transaction) on this procedure. Yet I can't seem to cure it with begin work/commit work. Perhaps I'm just inept.
It only fails when the "where current of" is there in the update. If I don't use "current of" it works, but then I need to use a more timeconsuming where clause.
How do I fix it up to work?
CREATE PROCEDURE spl_fix_akt_datum()
DEFINE dok_datum,start_datum,stop_datum,x DATETIME YEAR TO SECOND;
DEFINE dok_datum_int,start_datum_int,stop_datum_int INT;
DEFINE z INTERVAL SECOND(9) TO SECOND;
DEFINE q CHAR(20);
FOREACH cursor1 FOR
SELECT dok_dt_int, start_dt_int, stop_dt_int
INTO dok_datum_int, start_datum_int, stop_datum_int
FROM j_akt_transfer
[...]
UPDATE j_akt_transfer SET dok_dt="2000-01-01 00:00:00"
WHERE CURRENT OF cursor1;
END FOREACH;
END PROCEDURE -- spl_fix_akt_datum
Thanks in advance,
Anders
It only fails when the "where current of" is there in the update. If I don't use "current of" it works, but then I need to use a more timeconsuming where clause.
How do I fix it up to work?
CREATE PROCEDURE spl_fix_akt_datum()
DEFINE dok_datum,start_datum,stop_datum,x DATETIME YEAR TO SECOND;
DEFINE dok_datum_int,start_datum_int,stop_datum_int INT;
DEFINE z INTERVAL SECOND(9) TO SECOND;
DEFINE q CHAR(20);
FOREACH cursor1 FOR
SELECT dok_dt_int, start_dt_int, stop_dt_int
INTO dok_datum_int, start_datum_int, stop_datum_int
FROM j_akt_transfer
[...]
UPDATE j_akt_transfer SET dok_dt="2000-01-01 00:00:00"
WHERE CURRENT OF cursor1;
END FOREACH;
END PROCEDURE -- spl_fix_akt_datum
Thanks in advance,
Anders