Мой запрос на вставку множества строк с небольшими изменениями данных. Используя временную таблицу, я могу приблизить пользовательские переменные, но когда я добавляю l oop, я получаю эту ошибку:
ОШИБКА: синтаксическая ошибка в или около "WHILE"
Пожалуйста, помогите с синтаксисом :
-- SQL User Variables in temp table
create temporary table foo as select 1108 as udocid, CAST('2018-01-01' as date)as uctime, CAST('2018-01-15'as date)as umtime,'Study1108' as udocname, 'xlsx' as udoctype, 'C:\2018Studies\Data' as udocpath;
--Here is the erroring WHILE condition:
WHILE foo.udocid < 1110 LOOP
INSERT INTO documents(docid,ctime,mtime,docname,doctype,docpath) SELECT udocid,uctime,umtime,udocname,udoctype,udocpath from foo;
UPDATE foo SET udocid = udocid +1, uctime = (uctime + INTERVAL '1 day'), umtime = (uctime + INTERVAL '15 day'), udocname = CONCAT('Study', udocid),udocpath = CONCAT('C:\','2018Studies\','Data');
-- loop inserts a row then updates the variables for the next row;
END LOOP;
-- clean up
drop table foo;