Database 将逗号分隔的值存储到表中

Database 将逗号分隔的值存储到表中,database,plsql,Database,Plsql,我有一个应用程序,其中用户从UI以逗号分隔的格式输入输入,我必须捕获这些值并以记录的形式插入到数据库表中。 例如,用户输入('p1,p2,p3,p4'),它将作为 ID Value 1 p1 2 p2 3 p3 4 p4 我需要使用关联数组实现此功能?您可以创建一种类型的数组varchar2(100): 然后创建一个函数,从输入的p_列表string'valsepvalsep'(c2t用于char to table): 以下是您如何称呼上述内容: select ct

我有一个应用程序,其中用户从UI以逗号分隔的格式输入输入,我必须捕获这些值并以记录的形式插入到数据库表中。 例如,用户输入('p1,p2,p3,p4'),它将作为

ID   Value
1    p1
2    p2
3    p3
4    p4

我需要使用关联数组实现此功能?

您可以创建一种类型的数组
varchar2(100)

然后创建一个函数,从输入的
p_列表
string
'valsepvalsep'
c2t
用于char to table):

以下是您如何称呼上述内容:

select cto_table(',', 'p1,p2,p3') from dual;
这将为您提供一个“集合”。您可以使用内置的
表(..)
功能创建一个表,如下所示:

select rownum, column_value from table(c2t(',', 'p1,p2,p3')) ;

如果ID列只是一个序列,则不需要关联数组来完成此操作。您是在问我们是否应该使用关联数组,还是告诉我们必须使用关联数组?
select cto_table(',', 'p1,p2,p3') from dual;
select rownum, column_value from table(c2t(',', 'p1,p2,p3')) ;