Щас ДЕ повесится :-)
Я очень люблю FOR SELECT ... AS CURSSOR ... WHERE CURRENT OF, и чё-то
никак не могу понять как же его заюзать.
Пробую так:
EXECUTE BLOCK
RETURNS (
ID INTEGER)
AS
BEGIN
FOR WITH RECURSIVE TR AS (SELECT * FROM "Tree" WHERE PARENT_ID IS NULL)
SELECT ID FROM TR INTO :ID AS CURSOR CUR DO
BEGIN
UPDATE "Tree" SET NAME = NAME || '!' WHERE CURRENT OF CUR;
SUSPEND;
END
END
Говорит:
Invalid cursor reference.
Relation Tree is not found in cursor CUR.
Однако здаётся мне что оно должно работать (в т.ч. с пердставлениями и
UNION) :-/