我想通过某个属性对我的数据库条目进行分组,并且同时知道哪些条目在每个组中。 我使用Oracle COLLECT函数COLLECT函数来收集已分组的条目的id。
DECLARE
TYPE ids_type IS TABLE OF number(19, 0);
ids ids_type;
BEGIN
select cast(collect(r.id) as ids_type) into ids from rechnungsdaten r group by r.status;
END;
但是我收到了错误信息:
ORA-06550:第5行,第44列:
PL / SQL:
ORA-00902:无效数据类型
ORA-06550:第5行,第5列:
PL / SQL:SQL语句被忽略
06550.00000 - "第%s行,第%s列:\n%s"
*原因:通常是PL / SQL编译错误。
*操作:
number(19,0)
类型。其次,您需要展示rechnungsdaten
的样子(表定义)。 - FDavidovr.id
)转换为表类型。当然,这是不合法的语句。 - FDavidovINSERT INTO .... SELECT xyz FROM ...
语句。在ORACLE中,你可以拥有嵌套表(即一张表的列本身也可以是一张表),我猜这就是COLLECT
函数的主要用法(这只是我的猜测,可能会有误)。 - FDavidov