使用 Exasol 中的变量在查询函数中执行查询
Executing query in query function using a variable in Exasol
我正在尝试使用脚本函数在 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]]))
/
无法获取此脚本的输出。
为脚本调用执行时出现此错误。
以下是错误:
43000:"syntax error, unexpected end_of_input, expecting
assignment_operator or ':' [line 1, column 1]" caught in script
"xxxxxxxxxx"."SCRIPT_2" at line 6
删除变量名称两边的双方括号。
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));
/
我正在尝试使用脚本函数在 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]]))
/
无法获取此脚本的输出。 为脚本调用执行时出现此错误。 以下是错误:
43000:"syntax error, unexpected end_of_input, expecting assignment_operator or ':' [line 1, column 1]" caught in script "xxxxxxxxxx"."SCRIPT_2" at line 6
删除变量名称两边的双方括号。
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));
/