Выполнение запроса в функции запроса с использованием переменной в Exasol - PullRequest
0 голосов
/ 11 января 2019

Я пытаюсь выполнить динамический запрос в Exasol, используя функцию сценария. Ниже приведен код:

CREATE or replace SCRIPT script_2(a)
RETURNS TABLE AS
quer="select * from table_name cross join table_name"
for i=1, 3 do
    quer=quer .. " table_name"
    print(query)
end
exit(query([[quer]]))
/

Не удалось получить выходные данные этого сценария. Я получаю эту ошибку при вызове execute для скрипта. Ниже приведена ошибка:

43000: «синтаксическая ошибка, неожиданное завершение end_of_input, ожидание assignment_operator или ':' [строка 1, столбец 1] "перехвачены в скрипте "xxxxxxxxxx". "SCRIPT_2" в строке 6

1 Ответ

0 голосов
/ 28 января 2019

Снять двойные квадратные скобки вокруг имени переменной.

create or replace script script_2 (n)
returns table as
local quer = "select * from (values(0))t0(t0)";
for i = 1, n do
    quer = quer.." cross join (values("..i.."))t"..i.."(t"..i..")";
    print (quer);
end
exit(query(quer));
/
...