SQUIRREL:将函数的返回值赋给变量

时间:2017-03-16 12:35:34

标签: postgresql plpgsql squirrel-sql

我创建了一个返回

的函数
text[]

按原样运作

CREATE OR REPLACE FUNCTION another_function_array()
RETURNS text[] AS $$
SELECT array_agg(column_name::text) 
FROM information_schema.columns         
WHERE table_schema = 'abc' AND table_name = 'xyz' 
$$
LANGUAGE SQL;

现在我想在另一个函数中使用该函数:

CREATE OR REPLACE FUNCTION get_array()
RETURNS VOID AS $$
DECLARE 
arr text[] := another_function_array()
$$ LANGUAGE plpgsql;

它给了我输出

  

错误:错误:输入结束时出现语法错误     位置:107   SQLState:42601   ErrorCode:0

好的,

;

结束时的

arr text[] := another_function_array() 

缺少是我的第一个猜测但是当我添加它时我得到了错误

  

java.lang.ArrayIndexOutOfBoundsException   发生错误:   创建或替换函数get_array()   退回作为$$退回   宣布   arr text []:= another_function_array()

现在我有点困惑,因为我必须遗漏一些基本的东西

1 个答案:

答案 0 :(得分:0)

分配的问题是,SQUIRREL正在寻找分隔符

;

可以找到该问题的解决方案here