oracle 如何将APEX_APPLICATION.G_F01转换为单个字符串?

cedebl8k  于 2023-04-11  发布在  Oracle
关注(0)|答案(1)|浏览(86)

我知道APEX_APPLICATION.G_F01是一个数组,我想把它存储在我的数据库中。我知道的唯一方法是把它转换成一个varchar2分隔的字符串。我尝试使用TABLE_TO_STRING函数:APEX_UTIL.TABLE_TO_STRING(APEX_APPLICATION.G_F01),但这段代码给出了错误“APEX_APPLICATION.G_F01 is of wrong type”。Oracle文档也说该函数已弃用。

a9wyjsp7

a9wyjsp71#

APEX_UTIL.TABLE_TO_STRING对我来说工作得很好。我在一个页面进程中添加了以下行,该进程处理一个包含APEX_ITEM列的报告,它(1)编译得很好,(2)在调试消息中显示正确的输出:

apex_debug.info('kl debug'||APEX_UTIL.TABLE_TO_STRING(APEX_APPLICATION.G_F01));

APEX_APPLICATION.G_F01的数据类型为sys.dbms_sql.varchar2a,定义为TYPE VARCHAR2A IS TABLE OF VARCHAR2(32767) INDEX BY BINARY_INTEGER;
顺便说一句:为什么要将转换为字符串的数组存储在列中?处理以冒号分隔的字符串存储的数据绝对是一件痛苦的事。只需循环遍历数组并存储各个值即可

相关问题