SAP DBTech JDBC:[1306]:return 类型 mismatch:Procedure ARRAY_UNNEST_SIMPLE:属性名称 "id" 不同于属性名称:“:ARRID”

SAP DBTech JDBC: [1306]: return type mismatch:Procedure ARRAY_UNNEST_SIMPLE: Attribute name "id" different from Attribute name: ":ARRID"

大家好,我正在学习 SAP HANA。我遇到了这个错误,我一直在想办法解决它,但我还没有弄清楚,希望大家能帮忙。谢谢大家

DROP TYPE ttype;
CREATE TYPE ttype AS TABLE("ID" INT , "NAME" NVARCHAR(10));        
CREATE PROCEDURE ARRAY_UNNEST_SIMPLE(OUT rst ttype)
AS
BEGIN
DECLARE arrid INTEGER ARRAY = ARRAY (1,2);
DECLARE arrname NVARCHAR(10) ARRAY = ARRAY('name1', 'name2', 'name3');
rst = UNNEST(:arrid, :arrname);
END;

看起来错误是由于 names 列不匹配造成的 UNNEST 操作和声明的 return table变量。

您可以通过 AS ... 命令参数提供列名:

rst = UNNEST(:arrid, :arrname) AS (“ID”, “NAME”)