从csv构建WITH子句中的表

时间:2013-07-30 06:48:28

标签: sql oracle csv plsql subquery-factoring

我有一个从表中转储的csv文件。
现在我想用csv文件中的WITH构建表 我试过通过获取每列的所有值,在单独的变量中用逗号分隔,然后通过在WITH中进行插入插入,但这是不可能的。
是否可以通过使用逗号分隔值插入表而不循环?
让我们说 $ roll_no =“1,2,3,4,5”
$ name =“name1,name2,name3,name4,name5”
roll_no名称
---------------
1名1 2名2 3名3 4名4 5名5 还有其他办法吗? 感谢

1 个答案:

答案 0 :(得分:1)

可以像下面给出的那样传递逗号分隔的字符串。这将在不同的行中转换整个逗号分隔的字符串。

 SELECT trim(x.column_value.extract('e/text()')) COLUMNS from t t, table    
(xmlsequence(xmltype('<e><e>' || replace(valuestring,--put comma seperated string here
':','</e><e>')||  
 '</e></e>').extract('e/e'))) x   );