首页 > 解决方案 > 数组中的 DB2 C UDF 参数

问题描述

我正在使用 DB2 10.5 Linux,我需要创建一个 C UDF,它可以获得超过 150 个参数(加上空指示符)。

可以像传递整行一样 SELECT MYSCHEMA.MYUDF(*) FROM TABLE,或者有没有办法在过程中传递像 PARAMETER STYLE MAIN 这样的数组中的参数?

我还没有找到任何示例或文档。

标签: cdb2user-defined-functionsdb2-luw

解决方案


不可能有超过 90 个参数,但是我能够使用 BLOB 作为输入来解决问题。

然后在查询中创建 blob(列是 INT)

HEXTORAW(HEX(COLUM_NAME_1))||HEXTORAW(HEX(COLUM_NAME_2)) 

然后在 C 中使用压缩结构。

工作速度更快,并减少了 C udf 上的代码行。


推荐阅读