Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Foreach - where current of problem...

Status
Not open for further replies.

AoN

Programmer
Oct 19, 2001
12
0
0
SE
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
 
SELECT ... FOR UPDATE !!!!!!!!!!!!!

or why not

UPDATE yourtable SET yourcolumn='newvalue' WHERE anything AND everything

sometimes dateformat works only in local dbaccess :)
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top