如何在informix中将整数列获取到整数列表

时间:2019-06-15 07:38:53

标签: informix

要将整数列读入整数列表

create function somedum()
returning int
define s LIST(INTEGER NOT NULL);
select id into s from informix.emptest;
end function

create table emptest(id int)

insert into emptest(id)values(7)

当我执行上述功能时

作为附件图片出现错误

1 个答案:

答案 0 :(得分:0)

有关将元素插入LIST中的Informix文档似乎对我产生了误导,因为我对示例(Insert into a LIST)的第一印象也使我使用了SELECT INTO语法并获得了相同的错误:

-9634   No cast from integer to set(integer not null)

SELECT INTO语法可用于复制/插入整个LIST,而不复制元素到LIST中。

要将元素插入LIST中(或通常操纵它的元素),我们需要使用Informix虚拟表接口,在这种情况下,使用TABLE语法从{创建虚拟表{1}}然后可以用来执行通常的插入/选择/更新/删除操作(Collection-Derived Table)。

LIST

执行我们得到的功能:

CREATE FUNCTION somedum()
RETURNING LIST( INTEGER NOT NULL ) AS alist;
DEFINE my_list LIST( INTEGER NOT NULL );

INSERT INTO TABLE( my_list ) SELECT id FROM emptest;

RETURN my_list;
END FUNCTION;