2016-04-21 73 views
0

我正尝试在teradata中创建一个Aggregate UDF函数。Teradata Aggregate UDF中的数组定义

作为它的一部分即时尝试decalre在中间存储阵列。

当我试图将它链接到teradata时,它不断抛出下面的错误。

Executed as Single statement. Failed [7504 : HY000] in UDF/XSP/UDM DBC.IRR: SQLSTATE U0001: 
Elapsed time = 00:00:01.628 

STATEMENT 1: Select Statement failed. 

这里是我的代码,其中包含数组。

语法有什么问题吗?

#include <sqltypes_td.h> 
#include <string.h> 
#include <math.h> 
typedef struct agr_storage { 
     FLOAT count; 
     FLOAT val1,val2,val3,val4; 
    FLOAT res[100]; // This is my array 
} AGR_Storage; 

回答

-1

Teradata将每个中间块大小限制为64个字节,在上面的代码中,我们试图声明一个大小为800字节的数组。

这是错误的原因。

+0

*中间存储块*的大小限制为64000字节,而不是64字节:http://www.info.teradata.com/htmlpubs/DB_TTU_15_10/index.html#page/SQL_Reference/B035_1147_151K/C_UDFs。 045.073.html – dnoeth