Потому что выполнение этого скрипта дает мне эту ошибку? Найдено объявить (на 1-м символе) ожидающее ключевое слово netezza - PullRequest
0 голосов
/ 04 октября 2019

Сценарий корректно работает в 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

...