Сценарий корректно работает в plsql, берет дату из таблицы DATE_ACUM и генерирует n записей в таблице DATE_ACUM_FINAL, где n - число, указывающее день поля ID_DATE в формате yyyymmdd, например, 20190205 сгенерирует 5 записей.
DECLARE
CURSOR cur_dias IS
SELECT ID_FECHA FROM FECHA_ACUM;
curfecha FECHA_ACUM.ID_FECHA%TYPE;
antfecha FECHA_ACUM.ID_FECHA%TYPE;
ndia integer;
BEGIN
OPEN cur_dias;
loop
FETCH cur_dias INTO curfecha;
EXIT WHEN cur_dias%NOTFOUND;
ndia:= curfecha-FLOOR(curfecha/100)*100;
for i in 1..ndia loop
antfecha:=curfecha-ndia+i;
INSERT INTO FECHA_ACUM_FINAL (ID_FECHA,ANT_FECHA) VALUES (curfecha,antfecha);
end loop;
end loop;
close cur_dias;
END;
Сценарий Netezza:
DECLARE
cur_dias RECORD;
curfecha FECHA_ACUM.ID_FECHA%TYPE;
antfecha FECHA_ACUM.ID_FECHA%TYPE;
ndia integer;
BEGIN
FOR cur_dias IN SELECT ID_FECHA FROM FECHA_ACUM LOOP
curfecha := cur_dias.ID_FECHA;
ndia:= curfecha-FLOOR(curfecha/100)*100;
for i in 1..ndia loop
antfecha:=curfecha-ndia+i;
INSERT INTO FECHA_ACUM_FINAL (ID_FECHA,ANT_FECHA) VALUES (curfecha,antfecha);
end loop;
end loop;
END;
Ошибка -> найдено, объявлено (в 1-й строке) ожидание ключевого слова netezza